0

我在使用 cakephp 的 twitter API 1.1 时遇到问题。当我调用https://api.twitter.com/1.1/search/tweets.json来搜索推文时,响应总是返回 HTTP/1.1 400 Bad Request Content-Length: 0 Connection: close。

我检查此请求的原始请求:

GET /1.1/search/tweets.json HTTP/1.1
Host: api.twitter.com
Connection: close
User-Agent: CakePHP
Authorization: 
OAuth oauth_version="1.0",
oauth_signature_method="HMAC-SHA1",
oauth_token="822896990-Eazz9XQVzZ2I9l53pRhbGKxsxxxxxxxxxxx",
oauth_consumer_key="T1rqat2i3nV30xxxxxxxx",
oauth_nonce="652bbdc4c9e2f91a16c7f166xxxxxxxx",
oauth_timestamp="1380334675",
oauth_signature="4HYs4uPTxOOGtA%2F6uHxxxxxxxxxxx"
Content-Type: application/x-www-form-urlencoded
Content-Length: 9

q=datnoid

但是当我调用api时:https://api.twitter.com/1.1/statuses/show/ $id.'.json' 它返回结果OK。

请求原始:

GET /1.1/statuses/show/382331096781692928.json HTTP/1.1
Host: api.twitter.com
Connection: close
User-Agent: CakePHP
Authorization: OAuth oauth_version="1.0",
oauth_signature_method="HMAC-SHA1",
oauth_token="822896990-Eazz9XQVzZ2I9l53pRhbGKxsHi2Yxxxxxxxxxxxxxx",
oauth_consumer_key="T1rqat2i3nV30xxxxxxxxxx",
oauth_nonce="78a8b446ea3c9cba1ff0exxxxxxxxxx",
oauth_timestamp="1380334472",
oauth_signature="hTKPIvUh6F9XxCxhgClQjxxxxxxxxxxxx"

两个请求之间的唯一区别是第一个有参数搜索 [q=datnoid] 而第二个根本没有参数!

我究竟做错了什么?

4

1 回答 1

0

我找到了解决方案,我使用的 twitter 组件代码错误。它为所有 get/post 方法传递 request[body] 的参数。

于 2013-09-30T02:07:35.473 回答