トップ 一覧 検索 ヘルプ RSS ログイン 印刷

APIの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!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なのかがわかるようにしておきましょう。