Javascript Twitter rest api请求令牌问题
我正在尝试为我的应用程序获取oauth令牌。我遵循了,但我得到了如下错误:Javascript Twitter rest api请求令牌问题,javascript,twitter,oauth,twitter-oauth,Javascript,Twitter,Oauth,Twitter Oauth,我正在尝试为我的应用程序获取oauth令牌。我遵循了,但我得到了如下错误: { "errors": [ { "code": 32, "message": "Could not authenticate you." } ] } 这是我的签名基本字符串: POST&https%3A%2F%2Fapi.twitter.com%2Foauth%2Frequest_token&oauth_callback%3Drntwttr%3A%2F%2
{
"errors": [
{
"code": 32,
"message": "Could not authenticate you."
}
]
}
这是我的签名基本字符串:
POST&https%3A%2F%2Fapi.twitter.com%2Foauth%2Frequest_token&oauth_callback%3Drntwttr%3A%2F%2Ftwitter&oauth_consumer_key%3DzvWr0ySiGLedBLvFM4CZgW6ut&oauth_nonce%3D144692544640700&oauth_signature_method%3DHMAC-SHA1&oauth_timestamp%3D1446921846&oauth_version%3D1.0
这是我的授权
标题值:
OAuth oauth_callback="rntwttr%3A%2F%2Ftwitter", oauth_consumer_key="zvWr0ySiGLedBLvFM4CZgW6ut", oauth_nonce="144692544640700", oauth_signature="%2BHGWye0I4QeBbHWYiJnXhHJGPn4%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1446921846", oauth_version="1.0"
我使用消费者密钥和密码加密签名基字符串:
var key = 'myConsumerKey&myConsumerSecret';
var signature = CryptoJS.HmacSHA1(signature_without_sha, key);
var _signature = signature.toString(CryptoJS.enc.Base64);
这里有什么问题?回调url:
rntwttr://twitter
根据,您的签名基字符串的参数字符串部分不正确(即,&
应为%26
)
您可以使用验证您的基本字符串,因为您的签名密钥构造不正确。 签名密钥通过将消费者秘密和令牌秘密与介于两者之间的符号和组合而形成:
consumer_secret&token_secret
在获取请求令牌的情况下,您还没有令牌密钥,因此签名密钥只是消费者密钥,后跟一个符号和:
consumer_secret&
在上面的代码中,您将使用者密钥与使用者机密相结合,从而导致授权错误