Twitter OAuth请求令牌失败。

3

我目前正在使用JavaScript和OAuth为QML环境开发Twitter应用程序。 我卡在“request_token”端点,不明白原因。 当我发送请求时,只会收到“无法验证OAuth签名或令牌”的消息! 我已经使用http://oauth.googlecode.com/svn/code/javascript/example/signature.htmlhttp://quonos.nl/oauthTester/检查了我的签名生成,看起来我的签名和basestring都是正确的! 我尝试将数据发送到“authorization”HTTP头字段和正文中。 这是我的basestring:

POST&https%3A%2F%2Fapi.twitter.com%2Foauth%2Frequest_token&oauth_consumer_key%3D26oauth_nonce%3DDbWO0M%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1303129797%26oauth_token%3D%26oauth_version%3D1.0

我在“Authorization”头字段中发送的部分为:

oauth_consumer_key =&oauth_signature_method = HMAC-SHA1&oauth_timestamp = 1303130860&oauth_nonce = UX2kEA&oauth_signature = LizFO9xkre2Kv5A43Oj%2F%2FaY9Wck%3D

如果有人能帮我解决这个问题...我已经检查了OAuth库示例和网络上的其他工具的每一步。
2个回答

0

看起来 Twitter 的 OAuth 实现不需要 oauth_token 来签署 basestring(如 Twitter 的 API 文档中所述)。此外,你不应该在 basestring 中写入它。

Authorization 头字段应该这样填写:

OAuth oauth_nonce="1Rek6K",oauth_callback="oob",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1303375383",oauth_consumer_key="<YOUR_CONSUMER_KEY",oauth_signature="fgb6sPPR2PHQD%2BinG2KvtvgOtXU%3D",oauth_version="1.0"

桌面应用程序的强制oauth_callback应设置为“oob”。


0

嗨!谢谢! 我尝试更改我的url_encoded,但结果没有改变。我已经删除了我的代码并重新开始,不再使用oauth。看起来我的basestring和签名是正确的(希望到http://quonos.nl/oauthTester/和http://oauth.googlecode.com/svn/code/javascript/example/signature.html),但我仍然遇到同样的问题。也许是关于我正在构建的字符串,我正在尝试另一种方式(仍在集成您的解决方案)。 - galettan

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