トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン 印刷

API

auditR

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>にはサイトのAPIサービスから提供されたものをそのまま記載する
Rからの利用
API_KEY = Sys.getenv("API_KEY_NAME")
  • API_KEY_NAMEの部分はユニークであれば何でも構いません。複数サイトのAPIを使う場合もあるので、どのサイトのAPI KEYなのかがわかるようにしておきましょう。

Last updated 2017-11-30 | auditR (c) N.Nawata