うさぎのしっぽ

プログラミングとか。備忘録として使ってるブログです。あとは趣味少し。 間違いなどありましたらご指摘ください(・3・)

WebAPIとは?

WebAPIを使って情報を取得する。

そもそもWebAPIって?どんな仕組み?

という情報が、優しく全体的にふんわり解説されてるサイトが見当たらなかったので、自分なりに書いておきます。

 

長くなったので概要…

・WebAPIは、外部サービスの情報を自分のプログラムで利用するための手順・規約

・webブラウザがサーバに情報を要求するのと同じ形式でプログラムからメッセージを送れば、情報が返ってくる

・WebAPIを使って得られる情報は、HTML形式とは限らない

 

APIを使いたいとき

例えば、ある商品の金額の変動を記録したいとき。

毎日その商品のページ(amazonとか、価格.comとか)を表示して、金額をexcelに保存すれば金額の変動はメモできる。でもそれってめんどくさい。しかも気になる商品が100個とかになったら対応できない。

そんなとき、WebAPIを使うことで、自動で金額を取得→保存、というのが可能になる。

 

WebAPIとは

WebAPI【 Web Application Programming Interface

Web APIとは、コンピュータプログラムの提供する機能を外部の別のプログラムから呼び出して利用するための手順・規約(APIApplication Programming Interface)の類型の一つで、HTTPなどWebの技術を用いて構築されたもののこと。

Web APIとは|ウェブAPI|Web Application Programming Interface - 意味/解説/説明/定義 : IT用語辞典

 

ちょっとだけ噛み砕くと、

Twitterの検索とか、天気情報の取得とか、amazonの商品情報とかを、自分のプログラムで利用するための手順・規約。

 

 

WebAPIの使い方

 Web APIで機能を公開しているサーバに対して、インターネットなどの通信ネットワークを通じて依頼内容をHTTPリクエストの形で送信すると、処理結果がHTTPレスポンスの形で送られてくる。送受信されるデータの形式はAPIによって様々だが、Webでよく用いられるXMLやHTML、JSON、各種の画像ファイル形式などが用いられることが多い。

Web APIとは|ウェブAPI|Web Application Programming Interface - 意味/解説/説明/定義 : IT用語辞典

 

『HTTPリクエストの形』というのは、webブラウザがサーバに対して情報を要求するときに送るメッセージの形式。

メッセージの形式っていうのは、日常生活で言うと封筒とかに当たる。A4の封筒は受け付けるけど、B5の封筒で送ると中身を見ないでシュレッダーにぶちこまれるので、ちゃんとA4で送ってやらないといけない。

 

つまり、webブラウザがサーバに情報を要求するのと同じ形式(封筒)を使って、プログラムからメッセージを送れば、情報が返信されてくるってこと。やったね。

 

 

WebAPIで返信されてきた情報

通常、Webページにアクセスしたとき、サーバからの返信はHTML形式になっている。ブラウザはHTML形式を人間に見やすい形にして表示している。

 

WebAPIを使って得られる情報は、HTML形式とは限らない。

XMLとかJSONとか、その他色々。

 

Q. なんでWebAPIはHTML形式以外のデータを返せるのか?

ブラウザと同じHTTPリクエストの形(A4の封筒)を使ってるから区別がつかないはず!

 

A. URL(宛名書き)が違うから。

WebAPIを用意してある=普通のHTTPリクエストとは別の宛先が準備されている

同じHTTP形式(A4の封筒)でも、URL(宛名書き)が異なるので、こちらがブラウザでないことがわかり、HTML形式以外を返信してくる(ことがある)。