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