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"
2 つのリクエストの唯一の違いは、最初のリクエストにはパラメータ検索 [q=datnoid] があり、2 番目のリクエストにはパラメータがまったくないことです!
私は何を間違っていますか?