gpt4 book ai didi

java - uri.getQueryParameter ("oauth_verifier")始终为空

转载 作者:行者123 更新时间:2023-12-01 14:48:00 26 4
gpt4 key购买 nike

我是 OAuth 新手,我正在开发一个需要 OAuth 的 Android 应用程序,并且我正在使用路标库。

我相信我已经完成了所有工作,直到我可以使用它来获取 token

String token = uri.getQueryParameter("oauth_token");

正确返回下一行

String verifier = uri.getQueryParameter("oauth_verifier");

返回空值。我已经调试并检查了初始化为

的 uri
 Uri uri = this.getIntent().getData();

而且它似乎没有 key “oauth_verifier”

当我尝试以下行时, validator 为空会导致 OAuthExpectationFailedException

provider.retrieveAccessToken(consumer, verifier);

任何人都可以帮我弄清楚为什么验证程序为空我使用的是回调而不是 OOB。

我在其他问题中看到并在回复中指导了类似的内容:

dat=myapp://twitter?oauth_token=tJpJHOOwoTGMwdvHyYbfX2tyHKOp0Y2kdRRZf3sM&
oauth_verifier=xc49oM8eVVmK46ZSLz2RMT2uqXn3SxrMxf5ZAMXaD2Y

我的类似,但没有 ouath_verifier key 。

这里是我发送有效的初始 Intent 并获得返回的地方

        String clientKey = "xxxxxxx";
String clientSecret = "yyyyyyyyy";

CommonsHttpOAuthConsumer consumer = new CommonsHttpOAuthConsumer(clientKey,clientSecret);


provider = new CommonsHttpOAuthProvider(URL_Request_Token,
URL_Access_Token,
URL_Authorize";
provider.setOAuth10a(true);


try {
String authUrl = provider.retrieveRequestToken(consumer,CALLBACK_URI.toString());

String token = consumer.getToken();
String secret = consumer.getTokenSecret();

this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl)));
}

非常感谢任何帮助

最佳答案

我在开发 Twitter 交互示例时遇到的一个问题是我忘记从 Twitter 应用程序控制台设置回调 URL。

enter image description here

如果您不这样做,您的应用程序将不会被重定向,因此它将无法获取验证者 token 。

促销模式开启

但是,如果你觉得特别勇敢,我一直在开发这个库 PostManLib最近,我正在寻找 beta 测试人员。它应该使用众所周知的 scribe 库来处理所有异步 oauth 交互。

促销模式关闭

关于java - uri.getQueryParameter ("oauth_verifier")始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15209747/

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