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

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

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/03/06 04:02:21
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
id:sloto

質問者から

sloto2013/02/27 22:53:45

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

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;

}

という関数を使っています。

ベストアンサー

id:psne No.2

回答回数605ベストアンサー獲得回数334

ポイント160pt

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

他1件のコメントを見る
id:psne

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

2013/03/01 03:48:47
id:sloto

>もしそうであれば、3月5日以降も使える可能性もあり、または、明日突然使用不可になる可能性もあります。

現在も無事に使えるようですね。
貴重なご意見、ありがとうございました。

2013/03/06 04:01:01

その他の回答2件)

id:sloto

質問者から

sloto2013/02/27 21:40:27

質問文を編集しました。詳細はこちら

id:oil999 No.1

回答回数1728ベストアンサー獲得回数320

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

できなくなります。

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

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

id:sloto

abraham/twitteroauthを使えばURLからjson形式で内容が取得できる。というのがリンク先の内容ですよね。

tweet数を取得する場合、私の関数を参考にするのならエンドポイントURLは
http://urls.api.twitter.com/1/urls/count.json?url=
になるのですが、これでいいのでしょうか。

また取得制限数は1時間に60回であっているのですか?

2013/02/28 02:44:56
id:psne No.2

回答回数605ベストアンサー獲得回数334ここでベストアンサー

ポイント160pt

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

他1件のコメントを見る
id:psne

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

2013/03/01 03:48:47
id:sloto

>もしそうであれば、3月5日以降も使える可能性もあり、または、明日突然使用不可になる可能性もあります。

現在も無事に使えるようですね。
貴重なご意見、ありがとうございました。

2013/03/06 04:01:01
id:holoholobird No.3

回答回数574ベストアンサー獲得回数104

ポイント140pt

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

id:sloto

>現在も普通に使えますね。
ありがとうございます。

2013/03/06 04:01:08

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません