Javascript 推特API错误:';内部服务器错误';

Javascript 推特API错误:';内部服务器错误';,javascript,twitter,xmlhttprequest,google-chrome-extension,twitter-oauth,Javascript,Twitter,Xmlhttprequest,Google Chrome Extension,Twitter Oauth,我尝试使用Twitter API发布一条使用Javascript的推文。详情如下 基本字符串 POST&http%3A%2F%2Fapi.twitter.com%2F1%2Fstatuses%2update.json&oauth_消费者密钥%3dxxxxxxxxxx%26oauth_当前%3d9acc2f75c97622d1d2b4fb4124632b2b1273b0e0%26oauth_签名方法%3DHMAC-SHA1%26oauth_时间戳%3D1305227053%26oauth_令牌%3

我尝试使用Twitter API发布一条使用Javascript的推文。详情如下

基本字符串

POST&http%3A%2F%2Fapi.twitter.com%2F1%2Fstatuses%2update.json&oauth_消费者密钥%3dxxxxxxxxxx%26oauth_当前%3d9acc2f75c97622d1d2b4fb4124632b2b1273b0e0%26oauth_签名方法%3DHMAC-SHA1%26oauth_时间戳%3D1305227053%26oauth_令牌%3D159970118-xxxxxxxxxxxxxxxxxx%26oauth_版本%3D1.0%260;您好

标题

非统组织 oauth_nonce=“9acc2f75c97622d1d2b4c4fb4124632b1273b0e0”, oauth_signature_method=“HMAC-SHA1”, oauth_timestamp=“1305227053”, oauth_consumer_key=“XXXXXXXXXXXXXXXXXX”, oauth_token=“159970118-XXXXXXXXXXXXXXXXXXXXXXXXX”, oauth_signature=“IWuyoPJBrfY03Hg5QJhDRtPoaDs%3D”, oauth_version=“1.0”

我使用了POST方法和body“status=Hello”

但是我得到一个内部服务器错误。。我这边有什么错误吗??提前谢谢

使用的Javascript代码

h是上面给出的标题

tweet=“你好”

encodeURLall是用户定义的,在所有其他情况下都有效

var xhr = new XMLHttpRequest();
xhr.open("POST","http://api.twitter.com/1/statuses/update.json", false);
xhr.setRequestHeader("Authorization",h);

xhr.onreadystatechange = function() {

    if (xhr.readyState == 4 )
    {
        console.log("STATUS="+xhr.status);  
        console.log("RESPONSE="+xhr.responseText);  
    }
}

xhr.send("status="+encodeURLall(tweet));

}

由于以下原因,您无法使用XMLHttpRequest访问Twitter的站点。使用代理或服务器端代理(调用您自己的服务器,将您的请求重定向到Twitter)

顺便问一下,
encodeURLall()
?您不应该只使用
encodeURIComponent


更新:引用:

常规web页面可以使用该对象从远程服务器发送和接收数据,但它们受到限制。扩展没有那么有限。扩展可以与其源站之外的远程服务器进行通信,只要它首先请求跨源站权限


请继续阅读,看看您应该更改哪些设置才能使其正常工作。

您是从浏览器发布的吗?或者是有服务器端代码在写这篇文章吗?你能给我们看一下你使用的代码吗?@jimbojw我只是从浏览器上写的。@MarcelKorpel用代码编辑了上面的文章。可能是重复的,所以我应该这样做。
$.ajax({'url':'http://api.twitter.com/1/statuses/update.json“,”数据“:{状态:encodeurall(tweet)},'type':'post','success':onUpdate回调,'dataType':'jsonp'})但是我如何设置请求的标题。顺便说一句,我正在尝试创建一个Google Chrome扩展。只是想让你清楚知道我在做什么。那么,不可能在jsonp中设置头吗?@Ram:在Chrome扩展中可能会有所不同。@MarcelKorpel那么你的意思是可以使用XMLHttp请求,或者在Chrome扩展中设置带有自定义头的jsonp?@Ram:根据dupe中的说明,是这样的。