安卓Twitter使用oauth-signpost出错:授权失败(服务器返回401)

4
你好,我正在尝试使用OAuth与Twitter进行交互,但是遇到了异常。 认证失败(服务器返回了401)。这可能是由于消费者密钥不正确或签名不匹配。 我正在使用此示例: http://code.google.com/p/oauth-signpost/wiki/TwitterAndSignpost 错误行: String authUrl = provider.retrieveRequestToken(consumer, OAuth.OUT_OF_BAND);
请注意,以上内容中的HTML标记已保留。

这是您进行请求令牌的初始请求吗?您能发布您的请求外观吗?如果可以,甚至可以发布基本字符串。 - xil3
1
嗨xil3,它发生在这一行:String authUrl = provider.retrieveRequestToken(consumer, OAuth.OUT_OF_BAND); - Alexi
我不明白,昨天它还能正常工作。 - Alexi
3个回答

7

这不仅仅是由一个原因造成的:

授权失败(服务器返回了401错误)。这可能是由于消费者密钥不正确或签名不匹配。

另一个原因是:

您设备的日期和时间不正确。


我不了解“授权失败(服务器返回 401)”的含义。这可能是由于消费者密钥不正确或签名不匹配所致。如果它有效,请忽略此消息。 - Alexi
1
Jorgesys - 真是一个精彩的观察。我希望我可以给这个答案投100票。 - Abhijit
2
@Jorgesys 我已经尝试更改设备日期,但仍然无法解决问题。我的应用程序在某些设备上可以正常运行,但在三星Galaxy Ace上会出现问题,并显示以下错误信息: oauth.signpost.exception.OAuthNotAuthorizedException: Authorization failed (server replied with a 401). 如果消费者密钥不正确或签名不匹配,则可能会发生这种情况。 但是,如果消费者密钥不正确,为什么其他设备上的应用程序可以正常工作呢?我不理解... - Vikram
错误描述"This can happen if the consumer key was not correct or the signatures did not match."是一个通用的描述,可能有多种原因导致。如果在其他设备上可以正常工作,那么这就非常奇怪了。如果您打印设备的日期,请确保它是正确的。 - Jorgesys

2

-1

我遇到了同样的错误,相同的消费者密钥和秘钥在 iPhone 上可以正常工作,但是当我将其设置到我的 Android 应用程序时,它显示了以下错误消息:

授权失败(服务器返回 401)。如果消费者密钥不正确或签名不匹配,则可能会发生此情况。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接