Oauth 从Browser/JS调用Twitter API时无法响应
我目前正在玩一些Chrome扩展和Twitter API,我被用户流的请求卡住了 我正在生成的Auth头是有效的,因为我可以通过curl成功地调用API,但是只要我想通过XHR使用它发出请求,network选项卡就会将请求显示为“pending” 我将twitter API添加到扩展清单中的权限列表中。这应该不是问题,否则我会得到一个相同的原点错误。使用它生成/请求身份验证令牌也可以正常工作 以下是Chrome发送的请求标头:Oauth 从Browser/JS调用Twitter API时无法响应,oauth,google-chrome-extension,twitter,Oauth,Google Chrome Extension,Twitter,我目前正在玩一些Chrome扩展和Twitter API,我被用户流的请求卡住了 我正在生成的Auth头是有效的,因为我可以通过curl成功地调用API,但是只要我想通过XHR使用它发出请求,network选项卡就会将请求显示为“pending” 我将twitter API添加到扩展清单中的权限列表中。这应该不是问题,否则我会得到一个相同的原点错误。使用它生成/请求身份验证令牌也可以正常工作 以下是Chrome发送的请求标头: GET https://userstream.twitter.com
GET https://userstream.twitter.com/2/user.json HTTP/1.1
Authorization: OAuth oauth_version="1.0", oauth_token="XXXXXXXX-XXXXXXXXXXXXXXXK1UgBBqCls8QGb1FAYU", oauth_consumer_key="XXXXXXXXXXXKPbUx3eA", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1341958387", oauth_nonce="doPiU4", oauth_signature="XXXXXXXXXXqiynLgAT5UIkHgiWk%3D"
User-Agent: Foo
Accept: */*
Cache-Control: max-age=0
这会在Chrome中生成一个“挂起”的reuest,但以下curl请求按预期工作:
curl --get 'https://userstream.twitter.com/2/user.json' --header 'Authorization: OAuth oauth_version="1.0", oauth_token="XXXXXXXX-XXXXXXXXXXXXXXXK1UgBBqCls8QGb1FAYU", oauth_consumer_key="XXXXXXXXXXXKPbUx3eA", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1341958387", oauth_nonce="doPiU4", oauth_signature="XXXXXXXXXXqiynLgAT5UIkHgiWk%3D"' -A "Foo" --verbose
它基本上产生了相同的标题找到了它:
问题是jQuery中缺少“数据”设置。似乎他们的$.ajax
函数不喜欢缺少它,即使对于一个空的GET请求也是如此