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を使って実装し直しました。