Web APIとは
Web API?
APIとは アプリケーションプログラミングインタフェース(Application Programming Interface)のことで、アプリケーション(ソフトウェア)がWebの機能を使うための仕組みです。
そもそもWebって?
WebとはHTMLを使ったインターネットで文書を公開する技術のことです。一般的にホームページとかサイトとか言われてるものです。Web技術の発展で近年ではただの文書だけではなく、Facebook、TwitterのようなSNS、YouTubeやDropboxなどのアップローダ、GmailやGoogleカレンダーのようなツールなどいろいろな用途に利用されています。
ソフトウェアがWebを使う?
「SNSで友達一覧を取得したい」ときを例にします。
普段、人間がWebを使うときは下記のような流れになります。
①PC(ブラウザ)から「友達一覧」を取得したいことをWebサーバに伝える。
②WEBサーバが「友達一覧」のページをHTMLで返信する。
③ブラウザが受信したHTMLを人間が見やすい形に整形して表示する。
ソフトウェアが同じように「友達一覧」を取得する時は下記のようになります。
①ソフトウェアから「友達一覧」を取得したいことをWebサーバに伝える。
②WEBサーバが「友達一覧」のデータを任意の形式(図ではJSON)で返信する。
③ソフトウェアが受信したデータを処理する。
ほとんど流れとしては同じです。大きく違うのはWebサーバから返信されるものが、人間が見やすい形に変換できるHTML形式ではなくソフトウェアが処理しやすいデータ形式(JSONやXMLなど)になることです。
で、何に役立つの?
ソフトウェアがWebを使ってデータをやりとりできるようになると人間がブラウザでアクセスしなくても、ソフトウェアを定期的に自動起動するだけで最新の情報を取得して処理させることができます。
例えば、上記で示した図のようにSNSの友達一覧を毎日自動取得して前日との差分をグラフ化すれば友達登録数の推移を記録することができますし、Googleカレンダーから翌日の予定をWeb APIで取得してメールを送るソフトウェアを毎日起動させればリマインダーになります。
今では様々なWebサービスがWeb APIを用意しているので、それを組み合わせることで、Googleメールで添付ファイルの付いたメールを受信したら、その添付ファイルをDropboxに保管してLINEで通知するといった複雑な処理もできるようになります。
ソフトウェアがHTMLを取得してそこからデータを抜き出して使う(スクレイピングと言います)という方法でもよいのですが、その場合Webサービスのデザインやレイアウトが変わるとHTMLも変わってしまい、その度にソフトウェアを修正しないといけなくなるので、必要なデータのみをやり取りできるWebAPIがとても便利ですし、ソフトウェアを開発する側も楽なのです。
続きを書いてみました。
この記事が気に入ったらサポートをしてみませんか?