【发布时间】:2016-03-01 14:30:50
【问题描述】:
我正在尝试使用 POST statuses/update Twitter API 调用。我是新手,所以请多多包涵:)。正如doc 中所述,我一直在尝试设置标头以使用仅应用程序身份验证。
到目前为止我尝试过的如下:
$(".tweet-later").on("click", function(event){
$.ajax({
url: "https://api.twitter.com/1.1/statuses/update.json",
data: { status: "Testing"},
type: "POST",
dataType: 'json',
beforeSend: function(xhr){
xhr.setRequestHeader('Authorization', 'Rm5DVHpIc2M2ejRpeDRQRDRdfdsjprbjB5TENzeEZQNnhza2NFMzB6dnJMbnI2aENlRUZSczdOZUtWZUhaREhXSFVCY3dQWA==');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');
},
success: function(data) { alert('Tweeted!'); },
error:function(exception){alert('Exeption:'+exception);}
});
});
我不断收到错误消息:“身份验证失败”。非常感谢所有帮助。
提前非常感谢您。
【问题讨论】:
-
当只点击应用程序的端点,例如
https://api.twitter.com/1.1/statuses/user_timeline.json,授权标头必须包含Bearer。在您的情况下,您向其发送请求的端点不接受仅应用程序身份验证,但是如果它确实设置了身份验证标头,您希望如下:xhr.setRequestHeader('Authorization', 'Bearer Rm5DVHpIc2M2ejRpeDRQRDRdfdsjprbjB5TENzeEZQNnhza2NFMzB6dnJMbnI2aENlRUZSczdOZUtWZUhaREhXSFVCY3dQWA==');
标签: javascript jquery twitter twitter-oauth