添加回调网址时Twitter API oAuth签名失败

San*_*cci 5 twitter oauth callback

我正在使用此代码/指南另一个twitter oAuth cURL访问令牌请求,该请求无法测试我对API的请求.我仍然试图通过这一步骤

注意:键只是随机的,它们不是真的:)

当我尝试在没有oauth_callback的情况下发出请求时,我从api获得了有效的响应

https://api.twitter.com/oauth/request_token?oauth_consumer_key=nHb2kSQ2CD9MW1MdW5VeQ&oauth_nonce=1356902849&oauth_signature=MbvhwGiNPKQR0klUPx9fsmUtdJY%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1356902849&oauth_version=1.0

当我添加oauth_callback字符串时(必须让用户使用重定向签名!)我得到"无法验证oauth签名和令牌"

https://api.twitter.com/oauth/request_token?oauth_callback=http%3A%2F%2F127.0.0.1%2Ftest%2F&oauth_consumer_key=nHb2kSQ2CD9MW1MdW5VeQ&oauth_nonce=1356902915&oauth_signature=2WTaI9jXNBaDd7f8AqIe6y3%2Beno%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1356902915&oauth_version=1.0

我的意思是两个URL之间没有区别,它们都执行相同的执行,并且他们尊重签名方法.怎么解决?

是的我http://127.0.0.1/test/在Twitter应用程序设置中添加了回调网址.

谢谢

San*_*cci 0

我解决了这个问题。问题在于,即使使用查询字符串方法或标头正确发送了回调 URL(如您在链接上看到的那样),但在从基本字符串创建签名时,它也被双重转义。由于文档对此非常糟糕,我认为您不应该像其他 oauth_* 参数一样双重转义它(又名百分比编码“&”)。