プログラミングを勉強しているとAPIという言葉をよく聞きます。
APIとはいったいどういう使い方をするものなのでしょうか?
知らないのは損なくらいサイト作成時には役に立ってくれるのでご紹介します。
WebAPIは身近にある
郵便局を入力すると勝手に都道府県や市区町村を表示してくれるようなお問い合わせフォームってありますよね。
当然プログラムでできているのですが、郵便番号と住所情報をそれぞれのサイトで管理しているわけではないのです。
WebAPIでデータを取得しているケースが多いのです。
というものがあります。下記のURLにアクセスしてみてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | {<br/> "message":null,<br/> "results":[<br/> {<br/> "address1":"高知県",<br/> "address2":"南国市",<br/> "address3":"蛍が丘",<br/> "kana1":"コウチケン",<br/> "kana2":"ナンコクシ",<br/> "kana3":"ホタルガオカ",<br/> "prefcode":"39",<br/> "zipcode":"7830060"<br/> }<br/> ],<br/> "status":200<br/> } |
こういったデータが返ってくるのです。URLに「zipcode=7830060」という箇所があります。
この数字の部分が郵便番号です。
郵便番号を入力すると住所が返ってきます。知ってるようで知らなかった仕組みですね。
WebAPIはどうやって使うのか?
上記のWebAPIのようにURIでアクセスしてデータを受信する形式の設計モデルをRESTと言います。
受信したデータは波括弧で囲まれたヘンテコなデータのように見えますが、都合のよい形式でもあります。
たとえば、PHPで上記の郵便番号WebAPIを利用して、URIへアクセスすると、API側からデータを返してくれます。
この返してくれたデータをPHPのプログラム内で利用することが可能なのでとても便利なのです。
またよくつかわれるデータ形式としてはJSON形式のデータが使われます。
PHPにJSON形式へ変換する関数が用意されているので難しいプログラムを書かなくても、すぐに配列形式でデータを保持することができます。本当に便利ですよね。
これを応用すると、お問い合わせページなどで郵便番号をユーザーが入力したときに、AJAXを使ってPHPなどでWebAPIにアクセスし、返ってきたデータをお問い合わせページに自動的に表示してあげる、という便利な使い方をすることができるのです。
WebAPIとはデータベースみたいなもの
WebAPIは運営している人が管理してくれているデータベースのようなものです。
自分で管理しているデータベースへアクセスする場合はSQL文でデータベースからデータを取得します。
WebAPIの場合はURIにパラメータを設定することで、期待したデータを取得することができます。
SQL文を作る時は、URIに設定するパラメータのようにSQL文を作る必要があるため、ほとんど動きが同じなのですね。
ただ違っている点といえば、管理者が自分ではないためデータを取得するときの順番を変えたり、日時の形式を変えたりといった細々したところはプログラム側で修正しないと使えないということも起こるかもしれません。
WebAPIの種類
多種多様なAPIが存在しており、さまざまな使い方があります。
Twitter社が提供しているデータから特定の人だけのツイートをサイトに表示させてみたり、Instagram社が提供しているデータから、タグに猫を含んでいる画像一覧を最新の画像から10件だけ表示させることもできます。
リクルート社が提供している温泉検索APIを利用すると、全国にある温泉の温泉名や泉質、説明などを取得することもできます。エリアを絞って検索することもできるので温泉好きのために温泉検索サイトなどを作ってみるのも面白いかもしれません。
いかがでしたでしょうか?
上記で紹介したWebAPI以外にもたくさんのAPIが用意されています。
使い方や組み合わせによっては新しいサービスを生み出すきっかけにもなるかもしれません。
AJAXやJSON形式のデータの扱いなど、色々と学べることもあるので自分だけの検索サイトを作ってみると実績にもなるし面白いです。