gpt4 book ai didi

android - 在不打开浏览器的情况下使用路标 OAuth 获取 AccessToken(双足 Oauth)

转载 作者:行者123 更新时间:2023-11-29 01:44:00 26 4
gpt4 key购买 nike

我正在使用 OAuth 路标 从 Magento 服务器访问数据。我已经阅读了有关相同内容的各种教程,并且达到了我们打开浏览器以便用户可以输入其凭据的地步。但是,根据我的要求,我必须自动化这部分。

因此,用户不应获得浏览器页面。我在服务器端 (Magento) 完成了此设置,我在其中点击 URL 并返回到回调页面。我想通过我在 Android 中的程序来做同样的事情。

我试过下面的,

consumer = new CommonsHttpOAuthConsumer(KEY, Secret);
provider = new CommonsHttpOAuthProvider(OAUTH_INIT_URL,ACCESS_TOKEN_URL, AUTHORIZE_URL);
try {
provider.retrieveRequestToken(consumer, OAuth.OUT_OF_BAND);
Log.d("Tokens" , consumer.getToken() + " -- " + consumer.getTokenSecret());
}

我得到了请求 token 。但我不知道如何绕过下一步。我尝试直接访问 AccessToken(我真傻)provider.retrieveAccessToken(consumer, "myCallback://callback"); 但没有运气,它最终在

oauth.signpost.exception.OAuthNotAuthorizedException: Authorization failed (server   replied with a 401). This can happen if the consumer key was not correct or the signatures did not match.

我真的很感激任何帮助,因为我在过去 3 天一直坚持这个问题。如果我需要提供更多数据,请告诉我。

最佳答案

            OAuthConsumer consumer = new DefaultOAuthConsumer(myconsumerkey,
mysecretkey);

HttpURLConnection request;
URL baseUrl = new URL(myurl);
request = (HttpURLConnection) baseUrl.openConnection();
consumer.sign(request);

InputStream in = new BufferedInputStream(
request.getInputStream());
BufferedReader reader = new BufferedReader(
new InputStreamReader(in));
StringBuilder out = new StringBuilder();
String line = "";
while ((line = reader.readLine()) != null) {
out.append(line);
}
String serverResponse = out.toString();

关于android - 在不打开浏览器的情况下使用路标 OAuth 获取 AccessToken(双足 Oauth),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22609121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com