我在使用 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] 而第二个根本没有参数!
我究竟做错了什么?