チェ・ゲバムラの日記

脱犬の道を目指す男のブログ

【Twitter OAuth】もうツイートを見逃さない! 自分のフォローしてる一覧のツイート一覧をいいね数などで表示

またもTwitterOAuthでプログラムを作った。

自分のような個人としてはデータがないとなかなかにプロダクトが作りづらいので
Instagramと違って審査がないTwitterは手軽に作れて面白い。

今回は個人的に欲しいと思ったもの。
すなわち、
一つのサイト内で、Twitterで自分(アクセスした人)がフォローしている人の一覧を表示して、
その人たちがつぶやいているツイートでいいね数が多い順とかでずらっと表示させる!

できたらPHPJson吐いたものをブラウザからAjaxでとってきたい。
あと余裕あればコメント数順、RT数順とかにも対応させたい。
画像と名前、最新ツイート数件だけでも最初はとってきたい。

作ろうと思ったきっかけ
・通常のTwitterだと自分のタイムラインでは広告とか、フォロー外す必要はないけどあんまりみてない人のも出てきて追いきれない。まあ最悪フォロー外せよって話だがそれはいいかなと。
・じゃあ個別のタイムラインをみにいけばいいといえばそうだが、それだと一つ一つ開いてみないといけないのでやりたくないし時間めっちゃかかる。
・タイムラインだとすぐ流れる。あとアプリのせいか、勝手に一番上にいっちゃってもう古いツイートいいやってなっちゃって、すごくウォッチしていたい人のツイートを見逃しちゃう。

つまり

フォローしてる人の中でも選りすぐりのフォローって感じ。


そして前回の記事
hiromode.hatenablog.com
に引き続き、というかTwitterOAuth自体の仕組みはそのまま流用して、
トークンとかを変えたらだいたい思ったのが取得できた。


そしていよいよ今回のプログラムのキモともいえる、フォローしている人ごとのツイートだが、
callback.phpに書いてvar_dumpしてみると。。。

おや?認証ユーザのタイムラインになってしまう。
そうだ、ID指定すれば、、と思ったが指定の方法がわからない。
うーんライブラリの解説でもみるか、、と思っていたらTwitterOAuthの公式ページにずばりそのまま書いてあった。

TwitterOAuth公式(英語)
https://twitteroauth.com/

「以下抜粋」
プログラムで下記のようなURLを叩きたいときは
GET https://api.twitter.com/1.1/statuses/home_timeline.json?count=25&exclude_replies=true
こうすればいいらしい
$statuses = $connection->get("statuses/home_timeline", ["count" => 25, "exclude_replies" => true]);


とりあえず現状ここまで。
けどこのままだとアクセスされまくるとすぐにTwitterOAuth制限にひっかかるので、
JSONに吐き出したものをAjaxでクライアントサイドから呼べるようにしようと思う。

完成したらソース貼るかもだがもう少しかかりそう。