Twitterのフォロワー数取得について

Twitterのフォロワー数の取得については、

http://api.twitter.com/1/users/show.json?screen_name=hoge

のようなapiで取得していたのだけど、apiのバージョン1は完全に廃止されたため、上記では取得できなくなっていました。

"message": "The Twitter REST API v1 is no longer active. Please migrate to API v1.1. https://dev.twitter.com/docs/api/1.1/overview.", 
"code": 68

で、

http://api.twitter.com/1.1/users/show.json?screen_name=hoge

のようにしてみてはと思ってやってみると、今度は、

"message":"Bad Authentication data",
"code":215

のようなエラーが出ます。
簡単な修正は諦めて、エラーの案内にある
https://dev.twitter.com/docs/api/1.1/get/users/show
にアクセスして調べてみると、1.1では、フォロワー数の取得には

  • Oauthによる認証が必要
  • screen nameだけでなくuser idも必要

ということがわかりました。

●user idについて。
user idは、

https://twitter.com/users/show?screen_name=hoge

のようにscreen nameをキーにしてアクセスすると、

<user>
<id>78014802</id>
‥

のようなXMLが帰ってきます。このXML内のid欄の値がuser idです。

●Oauthについて。
googleでいろいろ調べたところ、「TwitterAPI v1.1(GET限定)に簡単アクセス」に、まさにドンピシャのjavascriptを使ったスクリプトがありました。

使用例としては以下のような感じになります。

getTwitterAPI('https://api.twitter.com/1.1/users/show?screen_name=hoge&user_id=78014802', 'callback_user');

function callback_user(json){
    var user = json;
    console.log(user);
    alert(user['followers_count']);
}

その後‥。
動作としては期待通りになったんですが、上記のjavascriptのページにもあるようにConsumer keyやConsumer key secretを公開することにやっぱり抵抗があるので、phpを使って実装し直しました。

投稿日:
カテゴリー: php タグ: