0

我目前正在使用 Chrome 扩展程序和 Twitter API,但我一直在请求用户流。

我正在生成的 Auth 标头有效,因为我可以通过 curl 成功调用 API,但是只要我想通过 XHR 向它发出请求,网络选项卡就会将请求显示为“待处理”。

我将 twitter API 添加到扩展清单中的权限列表中。这不应该是问题,否则我会收到 Same-Origin 错误。使用它生成/请求 Auth-Token 也可以正常工作。

这是 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 中产生“待处理”请求,但以下 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

它产生基本相同的标题

4

1 回答 1

0

弄清楚了:

问题是 jQuery 中缺少“数据”设置。似乎他们的$.ajax功能在丢失时不喜欢它,即使是空的 GET 请求

于 2012-07-11T01:37:30.117 回答