我正在尝试使用 twitter 创建一个应用程序,但我陷入了第一步。
我正在尝试发布到https://api.twitter.com/oauth/request_token,但每次我收到 401。
我正在使用各种 Apache Commns HTTPClient 的 POST 方法,非常特定于我的工具,所以我只发布高级图片。
My Header: 'oAuth '+
'oauth_callback="oob",'+
'oauth_consumer_key="zhaD2Y6RrQaaZQSz21RShA",'+// fake
'oauth_nonce="'+ <random string of 32Characters> +'",'+
'oauth_signature="'+ a.signature +'",'+
'oauth_signature_method="HMAC-SHA1",'+
'oauth_timestamp="'+ <Time in seconds since UNIX epoc> +'"';
我正在用这种方法生成签名:
第 1 步:对键值对进行百分比编码,并按照 Twitter 的签名页面中给出的方式附加它们。
Step2:在百分比编码后附加POST和URL。这就是我剩下的:
POST&https%3A%2F%2Fapi.twitter.com%2Foauth%2Frequest_token&oauth_callback%3Doob%26oauth_consumer_key%20%3D%20zhaD2Y6RrQaaZQSz21RShA%26oauth_nonce%3DkYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1318622958,
到现在为止还挺好..
我的问题从这里开始,下一步是签署密钥,它需要两件事:
- 您的应用程序的消费者秘密
- 访问令牌(正如这个https://dev.twitter.com/docs/auth/creating-signature页面所说)
用 & 附加这两个,然后执行 HMAC-SHA1。但是我如何获得我的访问令牌?
我还没有将我的帖子发送到推特,对吧?这里的访问令牌是指不记名令牌吗?
该页面甚至没有提到如何获取访问令牌(实际上确实如此,但我正在做一个 POST 来获取这个访问令牌吗?!)
感谢你的帮助!