Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oauth 从Browser/JS调用Twitter API时无法响应_Oauth_Google Chrome Extension_Twitter - Fatal编程技术网

Oauth 从Browser/JS调用Twitter API时无法响应

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

我目前正在玩一些Chrome扩展和Twitter API,我被用户流的请求卡住了

我正在生成的Auth头是有效的,因为我可以通过curl成功地调用API,但是只要我想通过XHR使用它发出请求,network选项卡就会将请求显示为“pending”

我将twitter API添加到扩展清单中的权限列表中。这应该不是问题,否则我会得到一个相同的原点错误。使用它生成/请求身份验证令牌也可以正常工作

以下是Chrome发送的请求标头:

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请求也是如此