もう数年前にapiを使ったきりで、keyは持ってるけど、実行したらexpireしてて。。。で、またしばらくしたら使うかもしれないので、備忘録的に記録だけしておこうと思います。

consumer_keyなどのデータを集める

https://developer.twitter.com/ の右上にある「app」に過去に作ったapiのキーたちが入ってる。

detailsを押して、「key and tokens」を押して、API key、API secret key、Access token、Access token secret を取得する。 数年放置してたら、なぜかこの文字列が変わってた模様。「Invalid or expired token」と表示されて実行できなかったので 再度取得することにした。

特定のユーザーのフォロー一覧からデータを拾ってみる

https://twitteroauth.com/ あたりに、「twitteroauth.php」とか「OAuth.php」を拾ってきてぶちこんでおく。

私が実行した時、「PHP Fatal error: Cannot redeclare class OAuthException」ってエラーが、「OAuth.php」の8行目に出た。つまり、同じ名前のクラスあるやんけってことらしい。8行目をみたら、classの定義はあるが、処理が空っぽ。ムカついたので、class丸ごとコメントアウトした。

そしたらエラーが出なくなった。たぶん大丈夫。私は運がいいし。

以下、テストのコード

////さっき拾ってきた接続するためのありがたいデータが入ってるらしいアレを読み込む
require_once("twitteroauth.php");

////developer.twitter.com から引っこ抜いてきたapi keyとかいうやつ。これがないと認証できず、apiを叩けない
$consumer_key = "XXXXXXXXXXXXXXXXXXx";
$consumer_secret = "YYYYYYYYYYYYy";
$access_token = 'ZZZZZZZZZZZZZ';
$access_token_secret ='AAAAAAAAA';

///さあ、認証だ!今後$twitter_objectでリクエストを送ると、色々データが手に入るよ
$twitter_object = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);

//設定。今回は特定ユーザーのフォロー一覧をとるので、screen_nameを指定するよ。
//他にも色々指定できる。知りたきゃ探せ
//ホリエモンのフォロワーをみてみよう
///https://twitter.com/takapon_jp
$options = array(
'screen_name'=>'takapon_jp',
'count'=>200///デフォルトは20なので、取れるだけとらないと
);

$json_array = $twitter_object->OAuthRequest(
'https://api.twitter.com/1.1/friends/list.json',///使うapiを指定
'GET',//method 取得系はだいたいGET。投稿系はPOST
$options///そしてオプション
);

で、この$json_arrayの中にテキストでjsonが入るのであとは好きにしたらいいと思う

コメント