Perl Hackers Hub
第4回 Twitterから学ぶ,Web APIのキホン(1)
本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回はゆーすけべーこと和田裕介さんで,
はじめに
本連載
巨人の肩の上に立つ
「巨人の肩の上に立つ」。この言葉は,
筆者がWeb APIを利用するときは,
Web APIとは?
ではWeb APIとは何でしょうか? そもそもAPIは
ありがたいことに最近では,
- 注1)
- 「Web Service」
という名前で公開されているものもありますが, 本稿では混乱を避けるために 「Web API」 という言葉で統一します。
Web APIを利用する流れ
HTTPを使ったシンプルな呼び出し
Web APIは
現在主流の呼び出し方では,
「HTTP」
- 注2)
- 山本陽平 著
『Webを支える技術─ HTTP, URI, 』HTML, そしてREST (WEB+DB PRESS plusシリーズ), 技術評論社, 2010
3つの基本的な流れ
Web API入門として最適な,
- ① リクエストURIを構築する
- ② Web APIにリクエストする
- ③ 結果をパースする
①でどのような情報を取得したいかをURIベースで構築します。たとえば検索機能を利用する場合は,
http://search.twitter.com/search.json?q=webdb
というURIを構築します。URIは,
②でHTTPのGETメソッドを使って構築したURIにアクセスします。
③で,
POSTメソッドによるWeb APIへの情報登録などの場合も,
Twitter Search APIを使ってみよう
では,
ドキュメントを読むことが重要
あるサービスのWeb APIを利用する第一歩は,
Twitterの場合はdev.
Twitter Search API
さてSearch APIの項を見てみましょう。基本的にWeb APIのドキュメントで大事なことは共通していて,
リクエストURI | http:// |
---|---|
サポートするレスポンスフォーマット | JSON, |
サポートするリクエストメソッド | GET |
必須クエリパラメータ | q |
オプションクエリパラメータ | result_ など |
だいたい上記の情報さえあればWeb APIへのリクエストの発行とレスポンスの受け取りが行えます。Twitter Search APIでレスポンスフォーマットはJSON,
リクエストURI | http:// |
---|---|
レスポンスフェーマット | JSON |
リクエストメソッド | GET |
クエリパラメータ | q=webdb |
リクエストURIとクエリパラメータを組み合わせた最終的なリクエストURIは,
http://search.twitter.com/search.json?q=webdb
Webブラウザを使った簡単な検証
上記のURIをWebブラウザのURL欄に入力して,
ここでWebブラウザが行ったようなリクエストの送信と,
バックナンバー
Perl Hackers Hub
- 第71回 ISUCONの実装から最近のPerlを学ぶ ―わかりやすく変更しやすいコードを実現する考え方と方法(2)
- 第71回 ISUCONの実装から最近のPerlを学ぶ ―わかりやすく変更しやすいコードを実現する考え方と方法(1)
- 第70回 Raisin入門 ―Rest APIマイクロフレームワークを使ってみよう!(2)
- 第70回 Raisin入門 ―Rest APIマイクロフレームワークを使ってみよう!(1)
- 第69回 表形式データを操るUNIXシェル型Perl製コマンド群 ―ビッグデータ時代の汎用的なデータ整備と分析のために(2)
- 第69回 表形式データを操るUNIXシェル型Perl製コマンド群 ―ビッグデータ時代の汎用的なデータ整備と分析のために(1)
- 第68回 他言語のライブラリをPerlに移植する(2)
- 第68回 他言語のライブラリをPerlに移植する(1)
- 第67回 GitHub APIによるチーム開発の効率化 ―基本操作から,GitHub Webhooksの活用まで(2)
- 第67回 GitHub APIによるチーム開発の効率化 ―基本操作から,GitHub Webhooksの活用まで(1)