我是OAuth的新手,我正在开发一款需要它的Android应用,而且我正在使用路标库。
我相信我已经完成所有工作,直到我可以使用
获取令牌String token = uri.getQueryParameter("oauth_token");
然而正确地返回了下一行
String verifier = uri.getQueryParameter("oauth_verifier");
返回null。我已经调试并检查了uri,它被初始化为
Uri uri = this.getIntent().getData();
它似乎没有关键字“oauth_verifier”
当我尝试使用以下行时,验证程序为null会导致OAuthExpectationFailedException
provider.retrieveAccessToken(consumer, verifier);
任何人都可以帮我弄清楚为什么验证程序为null我使用的是回调而不是OOB。
我在其他问题中已经看到并在回复中指导了这类问题:
dat=myapp://twitter?oauth_token=tJpJHOOwoTGMwdvHyYbfX2tyHKOp0Y2kdRRZf3sM&
oauth_verifier=xc49oM8eVVmK46ZSLz2RMT2uqXn3SxrMxf5ZAMXaD2Y
我很相似但没有ouath_verifier键。
这是我发送有效的初始意图的地方,我得到了回复
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)));
}
非常感谢任何帮助
答案 0 :(得分:1)
我在开发Twitter交互示例时遇到的一个问题是我忘了从twitter app控制台设置一个回调网址。
如果您不这样做,您的应用程序将不会被重定向,因此无法抓取验证者令牌。
促销模式开启然而,如果你觉得特别勇敢,我最近一直在研究这个图书馆PostManLib,我正在寻找beta测试者。它应该使用引人注目的抄写库处理所有异步oauth交互。
促销模式关闭