1

I started learning the Twitter API. I want to make a simple search for a keyword e.g 'bananaz' and get some info from the JSON data it will return. I use PHP and abrahams twitteroauth library.

My code goes something like this:

require_once('/twitteroauth.php');
$connection = new TwitterOAuth ('****', '****', '****', '******');

$statuses = $connection->get('search/tweets.json?q=bananaz');

print_r($statuses);

But all it returns is "Sorry, that page does not exist [code] => 34"

4

2 に答える 2

2

更新された回答 2013 年 10 月

TwitterOAuth は新しい Twitter API 1.1 をサポートするようになり、検索は認証されます (ドキュメント)。検索クエリは元のコードと同様に機能します。

require_once('/twitteroauth.php');
$connection = new TwitterOAuth ('****', '****', '****', '******');

$statuses = $connection->get('search/tweets', array('q' => 'bananaz'));

print_r($statuses);

古い回答 (Twitter API v1)

Twitter は検索に認証を必要としないため、TwitterOAuth は認証をサポートしていません。検索用の URL は API の URL とは異なるため、「ページが存在しません」というエラーが表示されます ( Twitter doco )。

これを回避するには、TwitterOAuth を介して呼び出しを行うときに完全な URL を使用できる場合があります。

$statuses = $connection->get('http://search.twitter.com/search/tweets.json?q=bananaz');

ただし、ライブラリの作成者は、ライブラリを使用するオーバーヘッドを節約して、検索に cURL を使用することを推奨しています。

$ch = curl_init();    
curl_setopt($ch, CURLOPT_URL, "http://search.twitter.com/search/tweets.json?q=bananaz");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$json = curl_exec($ch);

curl_close($ch);

$statuses = json_decode($json);
于 2012-12-13T05:33:25.177 に答える
1

Twiter API 1.1は認証を要求するので、注意してください。このドキュメントを見てください:

https://dev.twitter.com/docs/api/1.1/get/search/tweets

于 2013-03-18T10:59:08.730 に答える