個人的に「電車遅延なう」というサービスを、大変、気に入っています。同じ感じで、「高速道路渋滞なう」というサービスを自分で作ってみたいと思います。
Webサービスの「模写」といったところでしょうか。
お手本は「電車遅延なう」
ここ数日、「電車遅延なう」をじっくりと観察していると、仕様として次の6つが考えられます(見た目の限りでは)。
- 最新の遅延を自動的に表示する
- 「検索キーワード」から「特定のキーワード」を結びつける
- 「特定のキーワード」に関するつぶやきを表示する
- つぶやきには「ツィートに返信(Reply)」、「リツィート(RT)」、「お気に入りに登録(Fav)」が表示される
- 検索キーワードから最近の遅延路線を表示させる
- 検索キーワードから遅延指数を計算する
ユーザーが利用するときは、上から下の順番通りとなると考えます。しかし、機能を積み上げて完成させるためには、「3 → 4 → 1 → 2 → 5 → 6」という流れになると思います。
特定のキーワードを検索してつぶやきを表示する
「高速道路なう」のもっとも基本的な機能である、「特定のキーワード」を検索して、そのつぶやきを表示する機能のコードです。
[php]
<?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 } ?>
[/php]
いろいろとググってみた結果、Twitter Developersのドキュメンテーションと、こちらのサイトがもっとも参考になりました。
この記事を書いている時点で、「ツィートに返信(Reply)」、「リツィート(RT)」、「お気に入りに登録(Fav)」を表示させる方法を考えています。
〔つづきの記事〕
〔参考サイト〕