WEB/システム/IT技術ブログ

PHPでTwitter APIを使ってみる

何かと話題の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のドキュメントです。

Twitter API Documentation

リクエストの組み方により、受け取る情報はさまざまです。上の例ではユーザ「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を組み込んでみました。近々、サッカースタジアムマップにも組み込んでみたいと思います。

効果のほどは様子見というところですね。

B!

Comment

コメントはありません

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Monthly Archives