これまで本連載では,実際に利用者がアクセスするWebページに直結する,使い勝手について考えてきたわけですが,今回はちょっと視点を変えて,Web APIの使い勝手について考えてみたいと思います。

 まずは前提となる定義から。Web APIは,WebサービスAPIとか,Webサービスとか,時には単にAPIと呼ばれたりしています。簡単に定義すればHTTPを利用してデータをやり取りすることで,外部サイトに対してデータを配布したり,複雑な計算や処理などのサービスを提供するものです。もう少し平たく言うと,プログラム内に通常記述する関数(やメソッド)を外部に切り出して,ネットワークを介して呼び出せるようにしたものです。

 APIというと,なにもWeb上のサービスに限ったものではなくて,あるライブラリやプログラムの内部の関数やデータに,外部からアクセスできるインタフェース全般を指します。例えば,WindowsやMac OS XなどのOSもAPIを通じてその内部の処理を利用できるわけです。ただ今回の記事では,毎回Web APIと書くのも冗長なので,APIといったらWeb APIを指すと思ってください。

 さて,最近では様々なサービスがAPIを提供しています。その多くは,そのサービスが収集したデータを,外部からXMLなどのプログラムで解析しやすい形式で取得できるものです。古くはAmazonが提供するECSなどがそうで,これはAmazonが販売する商品情報を取得したり,ショッピングカートに商品を追加したり,といったことが可能なAPIです。ほかにも,YouTubeは動画情報を取れるAPIを用意していますし,楽天も先日,商品情報を検索,取得できるAPIを公開しました。Yahooは,検索結果をデータとして取得できるAPIを公開しています。

 APIにはほかにも,ページ上に地図を貼り付けるGoogleマップのAPIのように,機能そのものをパッケージ化して提供するものや,はてなの提供するテキストを渡すと登録されているキーワードへのリンクをつけてくれるはてなダイアリーキーワード自動リンクAPIのように,こちらから渡したデータに対して加工や処理を行うもの,Blogサービスに見かける記事を投稿できるAPIのようにデータを登録するためのものなど,様々なものがあります。

 筆者は,仕事がら様々なAPIを試したり,実際に使ってみたりすることがよくありますが,使いづらいなあ,と思うこともよくあります。Web関連の仕事に携わっていれば,APIを利用して開発を行う機会もあると思いますし,逆に自分たちが持っている機能やデータをAPIとして公開することもあるかもしれません。せっかく公開するからには,多くの人に使ってもらわなければ意味がありませんよね。

 そこで今回は,情報取得系のAPIを中心に,どんなときに不便さを感じるか,どうすれば使いやすくなるんだろうか,ということを,考えていきたいと思います。