Twitter 検索APIを使って「高速道路渋滞なう」を作ってみる(GET search/tweets)
|
目次
個人的に「電車遅延なう」(新しいタブで開く)というサービスを、大変、気に入っています。同じ感じで、「高速道路渋滞なう」というサービスを自分で作ってみたいと思います。
Webサービスの「模写」といったところでしょうか。
お手本は「電車遅延なう」
ここ数日、「電車遅延なう」をじっくりと観察していると、仕様として次の6つが考えられます(見た目の限りでは)。
- 最新の遅延を自動的に表示する
- 「検索キーワード」から「特定のキーワード」を結びつける
- 「特定のキーワード」に関するつぶやきを表示する
- つぶやきには「ツィートに返信(Reply)」、「リツィート(RT)」、「お気に入りに登録(Fav)」が表示される
- 検索キーワードから最近の遅延路線を表示させる
- 検索キーワードから遅延指数(新しいタブで開く)を計算する
ユーザーが利用するときは、上から下の順番通りとなると考えます。しかし、機能を積み上げて完成させるためには、「3 → 4 → 1 → 2 → 5 → 6」という流れになると思います。
特定のキーワードを検索してつぶやきを表示する
「高速道路なう」のもっとも基本的な機能である、「特定のキーワード」を検索して、そのつぶやきを表示する機能のコードです。
<?php require_once("twitteroauth/twitteroauth.php"); $consumerKey = "○○○○○○○○○○○○○○○○○○○○"; $consumerSecret = "○○○○○○○○○○○○○○○○○○○○"; $accessToken = "○○○○○○○○○○○○○○○○○○○○"; $accessTokenSecret = "○○○○○○○○○○○○○○○○○○○○"; $twObj = new TwitterOAuth($consumerKey,$consumerSecret,$accessToken,$accessTokenSecret); $keywords = '名神高速'; $param = array( "q"=>$keywords, // keyword "lang"=>"ja", // language "count"=>20, // number of tweets "result_type"=>"recent" // result type ); $json = $twObj->OAuthRequest( "https://api.twitter.com/1.1/search/tweets.json", "GET", $param); $result = json_decode($json, true); ?> <?php if($result['statuses']){ foreach($result['statuses'] as $tweet){ ?> <ul> <li><?php echo date('Y-m-d H:i:s', strtotime($tweet['created_at'])); ?></li> <li><?php echo $tweet['user']['name']; ?></li> <li><img src="<?php echo $tweet['user']['profile_image_url']; ?>" /></li> <li><?php echo $tweet['text']; ?></li> <li><?php echo $tweet['id']; ?></li> </ul> <?php } ?> <?php }else{ ?> <div class="twi_box"> <p class="twi_tweet">関連したつぶやきがありません。</p> </div> <?php } ?>
いろいろとググってみた結果、Twitter Developersのドキュメンテーションと、こちらのサイト(新しいタブで開く)がもっとも参考になりました。
この記事を書いている時点で、「ツィートに返信(Reply)」、「リツィート(RT)」、「お気に入りに登録(Fav)」を表示させる方法を考えています。
〔つづきの記事〕
〔参考サイト〕