現在、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とサーバの設定、
また取得制限数が変わるようでしたらそのあたりを詳しく教えてください。
よろしくお願いいたします。
使用している関数ですが、
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;
}
という関数を使っています。
使用している関数ですが、
$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向けに手直しする必要があります。
できなくなります。
abraham/twitteroauth ライブラリを使えば簡単にOAuth認証ができます。
http://www.webopixel.net/php/666.html
abraham/twitteroauthを使えばURLからjson形式で内容が取得できる。というのがリンク先の内容ですよね。
tweet数を取得する場合、私の関数を参考にするのならエンドポイントURLは
http://urls.api.twitter.com/1/urls/count.json?url=
になるのですが、これでいいのでしょうか。
また取得制限数は1時間に60回であっているのですか?
使用している関数ですが、
$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向けに手直しする必要があります。
>結局3月5日にならないとどうなるかわからないというのが事実なのでしょうか。
Twitter社のツイートボタンの仕様が厳格化された場合、それに併せて仕様も変更される可能性があります。
>今のうちにOauthに対応するものも作っておいたほうがいいかもしれませんね。
今回の質問には関係しませんし、おそらくこの先もURL関連には必要とならないとは思いますが、
Twitterを利用したサービスやAPIを理解するために触っておくと良いと思います。
>もしそうであれば、3月5日以降も使える可能性もあり、または、明日突然使用不可になる可能性もあります。
現在も無事に使えるようですね。
貴重なご意見、ありがとうございました。
今実際に使ってみましたが、その関数、現在も普通に使えますね。
回数確認したところ、一時間で150回まで行けるようです。
>現在も普通に使えますね。
ありがとうございます。
>結局3月5日にならないとどうなるかわからないというのが事実なのでしょうか。
2013/03/01 03:48:47Twitter社のツイートボタンの仕様が厳格化された場合、それに併せて仕様も変更される可能性があります。
>今のうちにOauthに対応するものも作っておいたほうがいいかもしれませんね。
今回の質問には関係しませんし、おそらくこの先もURL関連には必要とならないとは思いますが、
Twitterを利用したサービスやAPIを理解するために触っておくと良いと思います。
>もしそうであれば、3月5日以降も使える可能性もあり、または、明日突然使用不可になる可能性もあります。
2013/03/06 04:01:01現在も無事に使えるようですね。
貴重なご意見、ありがとうございました。