我正在尝试使用路标库在 Android 上为 Google、Twitter、Yahoo 等实现 OAuth。
以上所有工作都很好,除了雅虎,它在尝试检索请求令牌时给我一个 401 错误。我尝试将我的回调 url 修改为 http ,甚至尝试了带外身份验证。
有谁知道我可能做错了什么?
我使用 Signpost 库请求 OAuth 请求令牌的代码粘贴在下面。
private static CommonsHttpOAuthConsumer yahooConsumer = new CommonsHttpOAuthConsumer(
YAHOO_CONSUMER_KEY, YAHOO_CONSUMER_SECRET);
private static CommonsHttpOAuthProvider yahooProvider = new CommonsHttpOAuthProvider(
YAHOO_REQUEST_URL, YAHOO_ACCESS_TOKEN_URL, YAHOO_AUTH_URL);
和
字符串 authURL = yahooProvider.retrieveRequestToken(yahooConsumer,YAHOO_REDIRECT_URL); startWebView(authURL);
编辑:
这是捕获的 Exception 的输出:
08-21 00:18:10.935: WARN/System.err(3752): oauth.signpost.exception.OAuthNotAuthorizedException: 授权失败(服务器回复 401)。如果使用者密钥不正确或签名不匹配,则可能会发生这种情况。08-21 00:18:10.945: WARN/System.err(3752): 在 oauth.signpost.AbstractOAuthProvider.handleUnexpectedResponse(AbstractOAuthProvider.java:239) 08-21 00:18:10.945: WARN/System.err(3752) : 在 oauth.signpost.AbstractOAuthProvider.retrieveToken(AbstractOAuthProvider.java:189) 08-21 00:18:10.955: WARN/System.err(3752): 在 oauth.signpost.AbstractOAuthProvider.retrieveRequestToken(AbstractOAuthProvider.java:69)
谢谢,
阿比纳夫