Twitter-APIを使ってみました
- 2010/02/05
中川善樹
こんにちは、中川です。
今週のPHPプロのメルマガで、
ブログネタに困っていた時だったのもあり、
また、現在担当しているプロジェクトで使うかもしれないということで、
TwitterのAPIをちょっと触ってみました。
まずは、APIの仕様について。
http://apiwiki.twitter.com/
ここで、原文で確認できるようです。
日本語に翻訳している方がいるようです。ありがたいですね。
http://watcher.moe-nifty.com/memo/2007/04/twitter_api.html
※更新されているのか不明です。
それでは、深く調べたりする前にとりあえずさわることにします。
今回は、さくっと試してみたい程度ですので、認証などが一切必要ない、
public timelineの検索APIを試してみます。
といいましても、検索APIは至って簡単に呼び出しが行えるようですね。
http://search.twitter.com/search.json?q=asial
これで、json形式で、キーワードにasialを含むつぶやきが取得できます。
RSS形式だと、以下のように取得できるんですね!
http://search.twitter.com/search.rss?q=asial
今回はサーバ側のコードも必要ないように、
JavaScriptのみで利用したいと思いますので、
JSONP形式で返却してもらうように呼び出しを以下のようにしてみました。
・rppで「発言」の数を指定する。
・callbackでコールバック関数名を指定する
これで、このscriptタグを書くより前に、myfunc関数を定義しておけば返却結果のjsonを引数に与えて実行してくれます。
実際に返却されるjsonは以下のような形式のようです。※実際には改行されていません。
JSから扱いやすい、非常に親切な結果を返してくれるようですね。
これだけで、あっさりtwitterのデータを引っ張ってこれました。
実際に見た目をきれいに整えたのが、以下になります。
※ソースは、IFRAME内のソースを表示で確認できます。
Twitter-APIを使う上で注意しなければならないのが、利用回数制限があることです。
APIの呼び出しは、IPアドレス単位で、1時間に150回程度の用です。
今回はJavaScriptで呼び出しているので、クライアントのIP単位になるのでしょうから、
制限は問題なさそうですが、サーバ側からAPIを呼び出す場合は、キャッシュなどの注意が必要そうですね。
尚、この回数制限の状況も、APIから取得・確認できるようです。
http://twitter.com/account/rate_limit_status.xml
非常に親切ですね!!
と、このようにTwitterはAPIが充実しているのもすごいのですが、
非常に簡単に使い始められるのも魅力ですね。
自身のサイトなどのAPI設計にも非常に参考になりました。
また、ネット上に情報も多いので、是非みなさんもいろいろ試してみてください。
今週のPHPプロのメルマガで、
- 「現在発売中の日経ソフトウエア2010年3月号に記事を書きました!Web
APIに - ついての特集で、今はやりのTwitterと、Google
ChartのAPIを活用したPHPの - アプリケーションを作成する内容になっています。ぜひ読んでみてください。
- 皆さまのご意見やご感想をお待ちしています!
」By Katsuhiro Ogawa
ブログネタに困っていた時だったのもあり、
また、現在担当しているプロジェクトで使うかもしれないということで、
TwitterのAPIをちょっと触ってみました。
まずは、APIの仕様について。
http://apiwiki.twitter.com/
ここで、原文で確認できるようです。
日本語に翻訳している方がいるようです。ありがたいですね。
http://watcher.moe-nifty.com/memo/2007/04/twitter_api.html
※更新されているのか不明です。
それでは、深く調べたりする前にとりあえずさわることにします。
今回は、さくっと試してみたい程度ですので、認証などが一切必要ない、
public timelineの検索APIを試してみます。
といいましても、検索APIは至って簡単に呼び出しが行えるようですね。
http://search.twitter.com/search.json?q=asial
これで、json形式で、キーワードにasialを含むつぶやきが取得できます。
RSS形式だと、以下のように取得できるんですね!
http://search.twitter.com/search.rss?q=asial
今回はサーバ側のコードも必要ないように、
JavaScriptのみで利用したいと思いますので、
JSONP形式で返却してもらうように呼び出しを以下のようにしてみました。
- <script
type="text/javascript" src="http://search.twitter.com/search.json?q=asial&rpp=100&callback=myfunc"></script>
・rppで「発言」の数を指定する。
・callbackでコールバック関数名を指定する
これで、このscriptタグを書くより前に、myfunc関数を定義しておけば返却結果のjsonを引数に与えて実行してくれます。
実際に返却されるjsonは以下のような形式のようです。※実際には改行されていません。
- results:
[ { profile_image_url: http://a3.twimg.com/profile_images/638624053/___2009-12-16_20.32__normal.jpg (string) ,created_at: Thu, 28 Jan 2010 08:29:07 +0000 (string) ,from_user: _mozk (string) ,to_user_id: null (object) ,text: http://blog.asial.co.jp/540 (string) ,id: 8315548004 (number) ,from_user_id: 362873 (number) ,geo: null (object) ,source: &lt;a href=&quot;http://twitter.com/&quot;&gt;web&lt;/a&gt; (string) }, ・ ・ ・
JSから扱いやすい、非常に親切な結果を返してくれるようですね。
これだけで、あっさりtwitterのデータを引っ張ってこれました。
実際に見た目をきれいに整えたのが、以下になります。
※ソースは、IFRAME内のソースを表示で確認できます。
Twitter-APIを使う上で注意しなければならないのが、利用回数制限があることです。
APIの呼び出しは、IPアドレス単位で、1時間に150回程度の用です。
今回はJavaScriptで呼び出しているので、クライアントのIP単位になるのでしょうから、
制限は問題なさそうですが、サーバ側からAPIを呼び出す場合は、キャッシュなどの注意が必要そうですね。
尚、この回数制限の状況も、APIから取得・確認できるようです。
http://twitter.com/account/rate_limit_status.xml
非常に親切ですね!!
と、このようにTwitterはAPIが充実しているのもすごいのですが、
非常に簡単に使い始められるのも魅力ですね。
自身のサイトなどのAPI設計にも非常に参考になりました。
また、ネット上に情報も多いので、是非みなさんもいろいろ試してみてください。
コメント
コメントフォーム
トラックバック
最近の記事
- もうすぐ健康診断があるんだ・・・ [2010年09月02日 : 阿部恵]
- Photoshopで壁紙を作りながら、基本的な使い方を覚える [2010年09月01日 : 鴨田健次]
- はじめての共同作業 Canvas編 (node.js + websocket) [2010年09月01日 : 中川善樹]
- 「PHP×Flex(後編)」PHPテクニカルセミナー(無料)第4弾の募集を開始しました!! [2010年08月26日 : 和田記光]
- 【HTML5】Canvasでお絵かきしてみた(前編) [2010年08月25日 : 橋本章史]
- MacにgroongaのMySQL用ストレージエンジン [2010年08月23日 : 笹亀弘]
- Appleのサイトで見たiPhone4をFireworksで描いてみました-1/2 [2010年08月19日 : 和田記光]
- iPad版の会社紹介を作ってみました [2010年08月19日 : 小林有佳]
- iPhoneアプリ開発開始時に気をつけるべきファイルの取り扱い (2) [2010年08月19日 : 亀本大地]
- symfonyセミナー動画無料公開! [2010年08月13日 : 岡本雄樹]



https://code.google.com/p/twitter-by-php/source/browse/trunk/Smarty/plugins/function.twit_fri_time.php
https://code.google.com/p/twitter-by-php/source/browse/trunk/Smarty/plugins/function.twit_use_time.php