1.1になったことで,1.0に比べて,検索の呼び出し回数が,1時間150回から15分180回になったみたいです.しかし,APIの呼び出しにOAuth認証が必須になっています.そして,検索のURLも変わってます.
- 1.0 http://search.twitter.com/search.json
- 1.1 https://api.twitter.com/1.1/search/tweets.json
はじめにTwitterAPI1.1を使うには,OAuth認証が必要なので,ここから登録してください↓
詳しくはいろんなところに書いてあったので省略します.
https://dev.twitter.com/apps
次に,phpからtwitter api 1.1 を呼び出せるように,Abraham Williamsさんのgithubからライブラリをダウンロードします.
git clone git://github.com/abraham/twitteroauth.git
後は,以下のようなコードを書けば利用できます.
require_once("twitteroauth/twitteroauth.php");
$twitterOAuth = new TwitterOAuth(
"**********************", # consumer key
"****************************************", # consumer secret
"**************************************************", # access token
"******************************************"); # access token secret
$param = array(
"q"=>"iphone", # keyword
"lang"=>"ja", # language
"count"=>100, # number of tweets
"result_type"=>"recent"); # result type
$json = $twitterOAuth->OAuthRequest(
"https://api.twitter.com/1.1/search/tweets.json",
"GET",
$param);
$result = json_decode($json, true);
foreach($result['statuses'] as $tweet){
echo $tweet['text']."\n";
}
ここで,$paramでは次のような物を指定します.
- q(必須)
検索クエリ.
"iphone"と"android"どちらも含むツイートを探す.(AND検索) "q"=>"iphone+android"
"iphone"と"android"の内どちらか含むツイートを探す.(OR検索) "q"=>"iphone+OR+android"
"iphone"を含んで,"android"を含んでいないツイートを探す."q"=>"iphone+-android"
- result_type(任意)
検索のタイプ.
最新のツイートを取得する."result_type"=>"recent"
人気のツイートを取得する."result_type"=>"popular"
最新で人気のあるツイートを取得する."result_type"=>"mixed"
- count(任意)
1ページあたりのツイート数.最大で100
"count"=>100
参考ページ:
https://dev.twitter.com/docs/api/1.1/get/search/tweets
https://github.com/abraham/twitteroauth
http://www.sdn-project.net/labo/oauth.html