人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

tweet数取得APIについて質問させてください。

現在、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とサーバの設定、
また取得制限数が変わるようでしたらそのあたりを詳しく教えてください。

よろしくお願いいたします。

●質問者: sloto
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

質問者から

使用している関数ですが、

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;
}
という関数を使っています。


1 ● oil999
●0ポイント

3月5日からは下の関数では取得できなくなるのでしょうか。

できなくなります。

できなくなるのでしたら、どういうPHPを組めばいいのでしょうか。

abraham/twitteroauth ライブラリを使えば簡単にOAuth認証ができます。
http://www.webopixel.net/php/666.html


slotoさんのコメント
abraham/twitteroauthを使えばURLからjson形式で内容が取得できる。というのがリンク先の内容ですよね。 tweet数を取得する場合、私の関数を参考にするのならエンドポイントURLは http://urls.api.twitter.com/1/urls/count.json?url= になるのですが、これでいいのでしょうか。 また取得制限数は1時間に60回であっているのですか?

2 ● ぽけっとしすてむ
●160ポイント ベストアンサー

使用している関数ですが、
$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向けに手直しする必要があります。


slotoさんのコメント
取得するのはあくまでもtweet数だけなのです。 とりあえず自身がpostしたtweet数などは使用しません。 結局3月5日にならないとどうなるかわからないというのが事実なのでしょうか。 今のうちにOauthに対応するものも作っておいたほうがいいかもしれませんね。 >使用している関数 そうです。たとえばhttp://hatena.comのtweet数が1234の場合、 echo tweet_count("http://hatena.com"); は1234を出力します。

ぽけっとしすてむさんのコメント
>結局3月5日にならないとどうなるかわからないというのが事実なのでしょうか。 Twitter社のツイートボタンの仕様が厳格化された場合、それに併せて仕様も変更される可能性があります。 >今のうちにOauthに対応するものも作っておいたほうがいいかもしれませんね。 今回の質問には関係しませんし、おそらくこの先もURL関連には必要とならないとは思いますが、 Twitterを利用したサービスやAPIを理解するために触っておくと良いと思います。

slotoさんのコメント
>もしそうであれば、3月5日以降も使える可能性もあり、または、明日突然使用不可になる可能性もあります。 現在も無事に使えるようですね。 貴重なご意見、ありがとうございました。

3 ● holoholobird
●140ポイント

今実際に使ってみましたが、その関数、現在も普通に使えますね。
回数確認したところ、一時間で150回まで行けるようです。


slotoさんのコメント
>現在も普通に使えますね。 ありがとうございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ