我正在使用使用Auth 1.0的twitter api,并且在使用url ='https://api.twitter.com/1.1/statuses/home_timeline.json'时运行良好 但是当我使用https://api.twitter.com/1.1/search/tweets.json?q=nasa&result_type=popular api时,它会返回
{
"errors": [
{
"code": 32,
"message": "Could not authenticate you."
}
]
}
现在我不明白为什么会这样... 以下是我正在制作的标题:
function buildRequestHeader(httpMethod, URL) {
parameters = {
oauth_consumer_key: CONSUMER_KEY,
oauth_token: ACCESS_TOKEN,
oauth_nonce: getNonce(),
oauth_timestamp: getTimestamp(),
oauth_signature_method: 'HMAC-SHA1',
oauth_version: '1.0',
},
signature = oauthSignature.generate(httpMethod, URL, parameters, CONSUMER_SECRET, ACCESS_TOKEN_SECRET,{ encodeSignature: false }),
authString = 'OAuth oauth_consumer_key=' + parameters.oauth_consumer_key + ',oauth_token=' + parameters.oauth_token + ',oauth_signature_method=HMAC-SHA1,oauth_timestamp=' + parameters.oauth_timestamp + ',oauth_nonce=' + parameters.oauth_nonce + ',oauth_version=1.0,oauth_signature=' + encodeURIComponent(signature);
return authString;
console.log('>>>>>>>', authString);
}
它返回给我Twitter的标头,该标头适用于url ='https://api.twitter.com/1.1/statuses/home_timeline.json',但https://api.twitter.com/1.1/search/tweets.json?q=nasa&result_type=popular api的错误代码为32。谢谢。任何帮助都将适用
答案 0 :(得分:0)
已经有一段时间了,但是我认为您的宣誓参数需要按字母顺序按参数名称的字母顺序显示在AuthString中。
答案 1 :(得分:0)
请检查您的Twitter应用程序。 Twitter Application。在应用程序详细信息中,必须启用“使用Twitter登录”。