現在、XREAのレンタルサーバでPHPを動かしています。
APIは1時間に150件まで取得できるようですので30分毎に70コールしています。
(使用している関数は追記します)
3月5日からAPIが1.1に代わるそうですが、これによってAPIの仕様がいくつか変更されるそうです。
http://www.atmarkit.co.jp/ait/articles/1209/26/news120.html
一部の取得回数が1時間60回(15分で15回)になったり、OAuth認証なるものが導入されたり、
エンドポイントURLが変わるなどするそうですが、読んでもいまいちよくわかりません。
3月5日からは下の関数では取得できなくなるのでしょうか。
できなくなるのでしたら、どういうPHPを組めばいいのでしょうか。
すべてのAPIでOAuth認証がいるとのことですが、これはどういう意味でしょう。
http://kur.jp/2010/07/12/twitter-oauth-php/
この辺を読みましたが、個々のユーザーのつぶやきを代行するとかならともかく、
tweet数を取得するのにOAuthをどうすればいいのかがまるでわかりません。
3月5日以降もtweet数を取得するためのPHPとサーバの設定、
また取得制限数が変わるようでしたらそのあたりを詳しく教えてください。
よろしくお願いいたします。
使用している関数ですが、
$get_twitter = 'http://urls.api.twitter.com/1/urls/count.json?url=’ . urlencode($tgt);
確認のために一つお伺いしますが、上記の関数は$tgtに代入されたURLについてツイートされた数を取得する機能(ツイートボタンに付いている数値を取得する)で合っていますか?
もしそうであれば、3月5日以降も使える可能性もあり、または、明日突然使用不可になる可能性もあります。
参考:Tweet Count Button Incorrect | Twitter Developers
http://urls.api.twitter.com/1/urls/count.json は、ツイートボタン向けのAPIであり、それ以外の利用は許可されていない呼び出しとなります。
こちらのAPIについてはTwitterを利用していないユーザでも表示されるようになっていますので、質問にある条件には当てはまりません。
同一ホストで大量にリクエストを行うなど負荷がかかる行為をすれば制限される可能性もあります。(未検証です。)
自分が今までにpostしたツイート数や、タイムラインを表示する場合は
abraham/twitteroauthなどのライブラリを使用する事で可能になりますが、1.1向けに手直しする必要があります。
使用している関数ですが、
function tweet_count($tgt){//$tgtに対象urlを入力
$get_twitter = 'http://urls.api.twitter.com/1/urls/count.json?url=' . urlencode($tgt);
$file=file_get_contents($get_twitter);
$json = json_decode($file);
$tweets = $json->{'count'};
return $tweets;
}
という関数を使っています。