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"

2 つのリクエストの唯一の違いは、最初のリクエストにはパラメータ検索 [q=datnoid] があり、2 番目のリクエストにはパラメータがまったくないことです!

私は何を間違っていますか?

4

1 に答える 1

0

解決策を見つけました。使用している twitter コンポーネントのコードが間違っています。すべての get/post メソッドの request[body] に param を渡します。

于 2013-09-30T02:07:35.473 に答える