APIキー取得を解説!キーの役割・アクセストークンとの違いも
2023.11.18

API連携をする際に必ず使用するのが「APIキー」です。

本記事では、APIキーとアクセストークンの違いや注意点、実際にAPIキーの取得方法などを詳しく解説します。



1. APIとは?

API(エーピーアイ)とは、「Application Programming Interface(アプリケーション・プログラミング・インターフェース)」の略で、直訳すると「アプリケーションを連携する仕組み」のことです。


APIの詳しい解説は下記の記事を参照してください。


本来のAPIとは複数のプログラムを連携するためのインターフェース(仕組み)を指しますが、本記事では主にWeb上で公開されているWeb API(ウェブエーピーアイ)について解説していきます。

①API連携とは

決済やマップ、SNS等、様々なサービスがこの「Web API」を公開しており、この他社のAPIを利用することを「API連携」と呼びます。


API連携を活用することで、自社サービスの中に新たな機能を低コストで導入できるようになるのです。

②API連携とその流れ

API連携をするためには、大きく以下の3つの作業が必要です。

  1. APIの提供元にユーザー登録
  2. APIキー、シークレットキーを取得
  3. キーを使ってアプリと連携を行う

本記事では、この中でも

「2. APIキー、シークレットキーを取得」

について解説しています。


API連携の詳しい解説や、全体の手順については以下の記事を参考にしてください。






2. APIキーとは?


API連携をするために必要となるのが「APIキー」と呼ばれる存在。

主に、API連携をする際には以下2つのキーが発行されるので、これらについてまずは理解を深めていきましょう。

  ・APIキー

  ・APIシークレットキー

①APIキー

APIキーとは、APIにアクセスするための情報で、主に「誰がそのAPIを使用しているかを特定する」という目的で使用します。


APIキーは契約者ごとに発行され、このAPIキーをもとに利用量の計測や課金の計算が実施されます。

いわば「ユーザーID」のような存在と覚えましょう。

②APIシークレットキー

APIシークレットキーは、「シークレット」という名の通り「機密情報」を意味します。


API連携をする際には、前述のAPIキーと、このAPIシークレットキーを用いてAPIにアクセスします。


APIキーがユーザーIDとすると、APIシークレットキーはいわば「パスワード」のような存在です。


ちなみに、APIキーのみが発行され、APIシークレットキーは存在しないAPIも存在します。


その場合には、APIキーのみを利用してAPIを利用することになるので、利用したいAPIの利用方法をあらかじめ確認しておきましょう。



3. APIキーとアクセストークンの違い


APIキーと同じような単語として、「アクセストークン」という単語が存在します。


どちらもAPIを利用する上で大事な存在ですが、使い方が少し異なります。

①アクセストークンとは

アクセストークンは、「ユーザーがAPIを利用する際に発行されるキー」です。


例えば、スマートフォンでSNSなどのモバイルアプリを使う際にはパスワードを入力してログインします。


そして、モバイルアプリはサーバーのAPIにアクセスして情報を取得するのですが、その際に使用するのが「アクセストークン」です。


ユーザーは初回のみパスワードを使ってログインするのですが、その際にサーバーから「アクセストークン」が発行されます。


モバイルアプリは、この「アクセストークン」を利用してAPIを利用しているのです。


詳しい話は割愛しますが、この「アクセストークン」を端末に保存することでユーザーの端末はAPIにアクセスできるようになるのです。

②APIキーとの違いは?

APIキーもアクセストークンも、どちらもAPIにアクセスするために使用するキーであることに変わりはありません。


しかしながら、発行する先が異なることに注目しましょう。


APIキーは、主にシステム間で連携してAPIを使用するために使用します。システムの中でのみ管理されるため、漏洩するリスクは少ないと言えるでしょう。


そのため、ほとんどの場合APIキーは不変であることが多く、期限が長く設定されています。


余談になりますが、APIキーの多くは年単位で設定できるため、つい更新を忘れてしまうことも。更新時期は忘れないように注意しましょう。


さて、一方でアクセストークンはエンドユーザーに配布するキーであり、ユーザー・端末の数だけアクセストークンが発行されます。

また、端末の紛失や盗難といったセキュリティリスクも高いことから、有効期限も最長で数日と短めに設定されていることが多いです。


そのため、一部の例外はあるものの、一般的には

  ・サーバー間の連携に利用するのがAPIキー

  ・クライアントとサーバー間の通信に利用するのがアクセストークン


と覚えると良いでしょう。



4. サービスのAPIキーを取得してみる


それでは、イメージをつかむためにも、一般的に使用できるサービスのAPIキーの取得方法を紹介します。


今回は、TwitterとGoogle Mapsを例に紹介します。

①Twitter API

Twitter APIを使用することで、特定アカウントのタイムラインの取得や、APIを経由してTwitterへ投稿できます。


いわゆる「Twitterボット」も、このTwitter APIを経由して投稿されています。


Twitter APIを利用する前提条件

Twitter APIを利用するためには、以下のアカウントが必要です。

  1. 公開されている(いわゆる「鍵垢」ではない)アカウント
  2. メールアドレスが登録されていること
  3. 電話番号が登録されていること

登録するための条件が厳しいため、普段使用している以外のアカウントを使用すると良いでしょう。

(1) Twitter Developerへアクセスする

まずは、Twitter Developer Platformへアクセスします。


はじめは何もアプリがありませんので、右上の「Create an App」を選択します。

Twitter Developer『Create an App』

(2)開発者情報の登録

はじめて使用する場合には、以下のように開発者アカウントの設定を促されるので、「Apply」を選択しましょう。

開発者アカウントの設定の適用

必要な情報を選択し、「let’s do this」をクリックします。

開発者情報の登録

ポリシーが表示されるので、確認のうえ「Submit」をクリックします。

ポリシーの確認と送信

すると、確認用メールが送信されるので、それをクリックすれば登録は完了です。

メールの送信


(3)アプリ情報の入力

認証が完了すると、以下のようにアプリ名の入力を促されるので、好きなアプリ名を入力しましょう。(ここでは「trainocamp-sample-twitter-app」としています。)

入力したら、「Get Keys」を選択します。

アプリ名の入力

Twitterの場合、以下の3つのキーが取得できます。

  ・APIキー

  ・APIシークレットキー

  ・Bearer(ベアラー)トークン

各種キーの取得

Bearerトークンについての説明は省略しますが、ユーザーが認証する際に必要な情報となります。


これらのキーの使用方法については、公式ドキュメントなどを参考にしてみてください。

②Google Maps API

つぎに、地図情報を取得するためのGoogle Maps APIのAPIキーを取得する方法を紹介します。


Google Maps APIを使用することで、自社サイトの中にGoogle Mapを簡単に埋め込むことが可能となります。

Google Maps APIを使用する際の注意点

Google Maps APIを使用する際には、Googleのアカウントが必要です。


個人で使用しているアカウントを使用しても構いませんが、運用で使用する場合には、企業用のアカウントを別途取得すると良いでしょう。


また、Google Cloudの機能を利用するため、あらかじめGoogleアカウントに請求方法(クレジットカード情報)を登録しておく必要があります。

手順の紹介は省略しますが、カード情報を登録しないとAPIが作成できないのでご注意ください。

(1)Google Cloud Platformへアクセス

Google Cloud Platformへアクセスします。

Google Cloud Platform

(2)新しいプロジェクトの作成

画面上部の「プロジェクトを選択」を選択します。

プロジェクトを選択

モーダルが表示されるので、右上の「新しいプロジェクト」を選択します。

新しいプロジェクト

作成するプロジェクト名を入力し、「作成」ボタンをクリックしてください。


ここでは、「trainocamp-sample-project」と入力しています。

プロジェクト名の入力

作成が完了したら、以下のようにプロジェクトのページへ遷移します。

プロジェクトページ


(3)Google Map APIの有効化

プロジェクトのサイドメニューから「APIとサービス」を選択します。

APIとサービス

「APIとサービスの有効化」をクリックします。

APIとサービスの有効化

すると、APIの一覧が表示されるので、今回は「Maps JavaScript API」を選択します。

Maps JavaScript API

APIの詳細が表示されるので、確認のうえ「有効にする」をクリックしましょう。

有効にする

(4)APIキーの確認

有効化に成功すると、以下のようにAPIキーが表示されるので、コピーします。


コピーが終わったら、「GOOGLE MAPS PLATFORMに移動」をクリックしますしょう。

APIキーの取得

(5)制限をかける

APIに対してアクセス制限を設定するように推奨されているので、指示に従いましょう。


たとえば、自社サイトのみで利用する場合にはそのドメインやIPアドレスを指定して制限すると良いでしょう。

APIのアクセス制限




5. APIキーを使うときの注意点


最後に、APIキーを取り扱う際に注意すべき点を紹介します。

①APIキーは公開しない

APIキーは、間違っても公開しないように気をつけましょう。


特にありがちなのが、

「APIキーをソースコードに含めたままGitHubにコミットしてしまった」

というパターンです。


APIキーとAPIシークレットキーは、前述のとおり「ユーザーIDとパスワード」と同等の存在で、これらの情報が漏洩し悪用された場合には犯罪に利用されたり、多額の課金額が発生したりする可能性もあります。


実際に、誤ってAPIトークンを含めたコードをコミットした結果、100万円以上の課金額が発生したという例もあるようです。


そのほか、iOSやAndroidなどのモバイルアプリ内にAPIキーを保持した場合に、アプリを解析されてAPIキーが盗まれる場合もあります。


APIキーは公開・配布せず、機密情報として保持できるような構成とするように注意しましょう。

②APIキーの利用範囲を制限

悪用を防止する上では、APIキーの利用範囲を制限することも有効な手段です。


前述のGoogle Maps APIの設定の際、接続元を制限することがこの「制限」に相当します。


「もしAPIキーが漏洩しても被害を最低限に抑えるようにする」

という対策にもなりますし、誤って使いすぎることも防止できる可能性があります。


クラウドで利用できるサービスは便利な反面、使いすぎると非常に高価な額の請求を受ける可能性があります。

「利用できるAPIの範囲は最低限とする」

ということを念頭に置くことを忘れないようにしましょう。


※掲載された社名、製品名は、各社の商標及び登録商標です。

この記事をシェア