- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!Application Programming Interface
APIとは、あるプログラムが他のプログラムによって命令を受けて、それに従って自分の中で処理をして結果を返す仕組みのことです。特を、WEB上のデータで実現するための仕組みをWebAPIと言っています。
つまりプログラム開発者や利用者が、ほしいデータを持っているWEBサーバに対して、サーバのAPI仕様に合わせて指示を送ると、結果を得ることができるため、データの入手をプログラム中に含めることができるばかりではなく、常に情報源から最新のデータを得ることができるというメリットもあります。もちろん、いちいちダウンロードして読み込ませるという手間もありません。
またデータを提供する側にとっては、ファイルを丸ごとアップロードしておき、ダウンロードの形で(不要なデータも含めて)提供するよりも、与えられた命令の条件に従って必要最低限のデータを提供するほうが、サーバやネットワークへの負荷が軽減できるというメリットもあります。
APIの命令は、RESTやSOAPという方式が使われることが多いようです。また、結果として返されるデータはATOM形式やJSON形式が多いようです。
これらの命令の出し方やレスポンスデータの扱いについては、各アプリケーションでアドオンのパッケージが用意されています。Rではhttrというパッケージがあります。
!API Key
APIを利用するには各サイトの仕様によりますが、APIキーやトークンと呼ばれる識別符号を取得して利用者やプログラムのIDを特定できるようにしているケースが多いです。これは、サーバの管理者がサーバに負荷のかかるような処理を制御するために必要なものです。
APIキーをプログラム内に書くのはよろしくありません。他の人が同じプログラムを利用する際にそのAPIキーを使うことによって、サーバ側が利用者を識別できないだけでなく、悪意のあるユーザが本来のAPIキーの利用者になりすましてサーバに負荷を書けるような処理ができてしまいます。
APIキーは初期設定ファイルである、.Renvironに書くのが正しい方法のようです。
:.Renvironへの記述:
API_KEY_NAME=<API-KEY>
API_KEY_NAME=<API-KEY> #<API-KEY>にはサイトのAPIサービスから提供されたものをそのまま記載する
:Rからの利用:
API_KEY = Sys.getenv("API_KEY_NAME")
API_KEY = Sys.getenv("API_KEY_NAME")
* API_KEY_NAMEの部分はユニークであれば何でも構いません。複数サイトのAPIを使う場合もあるので、どのサイトのAPI KEYなのかがわかるようにしておきましょう。