何かと話題のTwitterですが、利用者が1億人を突破したようです。ここ数年で日本の人口に匹敵するユーザが登録し、さらに増加しているという現状、その情報をどう活用するかがキーになってきますね。
というわけで、活用方法の1つということでTwitter APIを試してみることにしました。APIを利用することで、サイトにつぶやきを表示させたり、Twitterと連携したアプリケーションが作れるようです。
さて、その中身ですが、大きく分けて、
・Twitterにログインしなくても閲覧できる、公開されている情報は、APIでも認証なしに活用できる
・Twitterでログイン後にする、自身の投稿、リツイート、返信、自分のフォローしている人の情報操作などは、APIでも認証が必要
の2つがあるようです。
認証には、Basic認証とOAuth認証があるようですが、Basic認証は2010年6月には廃止されるようです。まだまだ発展途上ともいえる技術、今後のAPIの仕様変更には注意しないといけないようですね。
今回は、認証部分を除いた除いたPHPでのAPI活用サンプルです。まずはソースから
$query = "http://api.twitter.com/1/statuses/user_timeline/heron200908.json"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $query); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); $response = curl_exec($ch); curl_close($ch); return json_decode($response);
基本的にはAPIのドキュメントにしたがってリクエストを作成し、それをcurlで投げてレスポンスを受ける流れです。この場合だと、レスポンスのフォーマットをJSONで指定してあるので、最後に「json_decode」してあげます。この例だと、PHP環境下ではcurlが有効になっていることが前提となるわけです。以下、APIのドキュメントです。
リクエストの組み方により、受け取る情報はさまざまです。上の例ではユーザ「heron200908」の公開されているツイートをJSONフォーマットで取得しています。
$query = "http://api.twitter.com/1/statuses/user_timeline/heron200908.xml?count=10";
このようにして、フォーマットをxmlに、さらにパラメータをつけて最新の10件に絞ることもできます。
$query = "http://search.twitter.com/search.json?q=twitter";
これは全体に公開されているツイートから、キーワード「twitter」で検索しています。ここでキーワードはurlエンコードをしなければならないので注意しましょう。
$query = "http://search.twitter.com/search.json?q=%23ipad+OR+%23ipod";
これはハッシュタグ「#ipad」と「#ipod」のor検索をしています。
これらを基に、このブログのフッターにもTwitter APIを組み込んでみました。近々、サッカースタジアムマップにも組み込んでみたいと思います。
効果のほどは様子見というところですね。
コメントする