すべての Google Maps JavaScript API アプリケーションに認証が必要です。
- 標準 API のユーザー: 標準プランで API を使用している場合は、プロジェクトで設定されている API キーを使用する必要があります。詳細は、標準 API 向けの API キーをご覧ください。
- Premium Plan ユーザー: Google Maps APIs Premium Plan で API を使用している場合は、次の 2 つの認証方法があります。
- Google Maps APIs Premium Plan プロジェクト(Premium Plan を購入した際に作成されたプロジェクト)で設定された API キーを使用します。
- API キーではなく、クライアント ID を使用します。
最適な認証方式の選択に関する情報については、以下の Google Maps APIs Premium Plan のセクションをご覧ください。
- Google Maps APIs Premium Plan プロジェクト(Premium Plan を購入した際に作成されたプロジェクト)で設定された API キーを使用します。
標準 API 向けの認証 - API キー
標準 API を使用するには、API を読み込むときに API キーを含める必要があります。
API キーを使用するメリット:
- API キーを使用すると、Google API Console でアプリケーションの API 使用状況を監視できます。詳細については、Google API Console のヘルプをご覧ください。
- 十分な量の 1 日あたりの無料の割り当てを利用したり、必要に応じて従量課金を有効化することで、1 日あたりの割り当てを追加したりできます。
- API キーを登録すると、必要な場合に、Google からアプリケーションについての問い合わせができるようになります。
API キーを取得する
Google Maps JavaScript API の使用を開始するには、下のボタンをクリックして、指示に従って Google Maps JavaScript API と関連サービスを自動でアクティベートします。
キーを取得するまたは、次の手順で API キーを取得します。
- Google API Console に移動します。
- プロジェクトを作成または選択します。
- [Continue] をクリックして API と関連サービスを有効にします。
- [Credentials] ページで API キーを取得します(さらに、API キーの制限を設定します)。
注: 制限のない既存の API キーまたはブラウザの制限が設定されたキーを所有している場合は、そのキーを使用することもできます。 - 割り当て量の盗用を防ぐため、ベスト プラクティスに従って API キーを保護します。
- (オプション)課金を有効化します。詳細については、使用制限をご覧ください。
Google API Console では、既存のキーの検索や有効な API リストの表示も可能です。
Google API Console の使用に関する詳細については、API Console のヘルプをご覧ください。
API キーの制限のタイプ
Google Maps API は、Android または iOS アプリ、ウェブブラウザ、HTTP 経由のウェブサービスで使用できます。どのプラットフォームの API でも、汎用的な(制限されていない)API キーを使用できます。必要に応じて、API キーに制限(たとえば、HTTP リファラー)を追加することも可能です。制限されたキーは、その制限タイプをサポートするプラットフォーム上でのみ機能します。キーや認証情報の詳細については、こちらをご覧ください。
API の読み込み時にキーを指定する
キーを指定するには、API を読み込むときに、キーを key パラメータの値として含めます。
次に例を示します。
<script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" type="text/javascript"></script>
Google Maps APIs Premium Plan ユーザーの認証
このセクションの情報は、2016 年 1 月 6 日から利用可能になった新しい Google Maps APIs Premium Plan のみに適用されます。
以前の Maps APIs for Work または Maps API for Business を所有している場合は、Maps APIs for Work ライセンス ガイドをご覧ください。以前のライセンスがあるかどうかを確認するには、Google Cloud Support Portal で、左側にある [Maps: Usage Report] をクリックします。レポートの最上部にある ID が次の形式になっている場合は、新しい Premium Plan があります。gme-[company] & proj-[number] ([type])
そうでない場合は、以前のライセンスがあります。
Google Maps APIs Premium Plan ライセンスで Google Maps JavaScript API を使用する場合、API キーまたはクライアント ID でアプリケーションを認証する必要があります。注: 以前の Maps API for Business ライセンスを所有している場合は、API キーではなく、クライアント ID を使用する必要があります。
使用する認証方式を決定する際は、以下の点を考慮してください。
- API キー(Google Maps APIs Premium Plan ユーザーは利用可能ですが、以前の Maps API for Business ライセンスの所有者は利用できません)- API キーを使用してリクエストを認証すると、次のことができます。
- Google API Console ですべての API を管理する
- Google API Console でアプリケーションのリアルタイムの使用状況データと 30 日間の使用状況履歴データにアクセスする
- Google Cloud Support Portal で 30 日間を超えるデータが反映された使用状況レポートを表示する
- クライアント ID - (API キーではなく)クライアント ID を使用してリクエストを認証すると、次のことができます。
channelパラメータをリクエストに追加して、より詳細な使用状況レポートを表示する- Google Cloud Support Portal で 30 日間を超えるデータが反映された使用状況レポートを表示する
- Maps JavaScript API の Maps Analytics ツールを使用する
詳細は、Premium Plan ユーザーが利用できるレポートをご覧ください。
API キーを使用する
API キーを使用して Google Maps JavaScript API を認証するには、下のボタンをクリックし、指示に従って API キーを取得します。
重要: [Project] プルダウン メニューでは、Premium Plan を購入した際に作成されたプロジェクトを選択する必要があります。プロジェクト名の先頭は、Google Maps APIs for Business or Google Maps for Work or Google Maps です。*
キーを取得するまたは、次の手順で API キーを取得します。
- Google API Console に移動します。
- [Project] ドロップダウン メニューから、Google Maps Premium プロジェクト*を選択します。
- [Continue] をクリックします。
- [Credentials] ページで API キーを取得します(さらに、API キーの制限を設定します)。
注: 制限のない既存の API キーまたはブラウザの制限が設定されたキーを所有している場合は、そのキーを使用することもできます。 - 割り当て量の盗用を防ぐため、ベスト プラクティスに従って API キーを保護します。
* 注: [Project] ドロップダウン メニューでは、Premium Plan を購入した際に作成されたプロジェクトを選択する必要があります。プロジェクト名の先頭は、Google Maps APIs for Business or Google Maps for Work or Google Maps です。重要: 以前の Maps API for Business ライセンスを所有している場合は、API キーではなく、クライアント ID を使用する必要があります。
Google API Console で、既存のキーを探すこともできます。
Google API Console の使用に関する詳細については、API Console のヘルプをご覧ください。
API の読み込み時にキーを指定する
キーを指定するには、API を読み込むときに、キーを key パラメータの値として含めます。
次に例を示します。
<script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" type="text/javascript"></script>
クライアント ID を使用する
API キーではなく、クライアント ID を使用して Google Maps JavaScript API を認証するには、一意のクライアント ID と URL の登録の両方が必要です。
以前に認証のために API キーを使用しており、今回クライアント ID の使用に切り替える場合は、API を読み込む前に key パラメータを削除する必要があります。クライアント ID と API キーの両方が含まれている場合、API の読み込みに失敗します。
クライアント ID
Google Maps APIs Premium Plan ライセンスを購入すると、Google からクライアント ID が含まれたウェルカム メールが届きます。クライアント ID は、Google Maps APIs Premium Plan の特別な機能にアクセスする際に使用します。すべてのクライアント ID は接頭辞 gme- で始まります。
クライアント ID はキーではありません。クライアント ID は承認した URL のみから機能するため、クライアント ID を秘密にする必要はありません。
API の読み込み時にクライアント ID を指定する
Google Maps JavaScript API を読み込むときに、クライアント ID を client パラメータの値として指定します。
<script async defer src="https://maps.googleapis.com/maps/api/js?client=YOUR_CLIENT_ID &v=3.26&callback=initMap"></script> 上記の例のように、v=3.26 パラメータを追加して、リリース バージョン(機能安定バージョン)または以前のバージョンを指定する必要があります。試験運用版を使用するアプリケーションは、Google Maps APIs Premium Plan SLA の適用外です。
認証済み URL の登録
第三者が第三者のウェブサイトであなたのクライアント ID を使用することを防止するために、クライアント ID の使用は、特別に承認した URL のリストに制限されています。
既に承認した URL を確認する、または追加の URL を承認するには:
- Google Cloud Support Portal にログインします。
- 左側のメニューで [Maps: Manage Client ID] をクリックします。
最大 100 個の URL を一度に追加できます。追加できる URL の総数は 3,000 個です。さらに多くの URL を追加する必要がある場合は、サポートにお問い合わせください。
URL の承認に関しては、以下の点を考慮する必要があります。
- ドメイン名または IP アドレスを一般公開する必要がない。
- たとえば、
http://myintranetとhttp://192.168.1.1は有効なエントリです。 - 指定したドメインのすべてのサブドメインも承認される。
- たとえば、
http://example.comを承認すると、http://www.example.comも承認されます。逆のケースは当てはまりません。たとえば、http://www.example.comを承認しても、http://example.comは必ずしも承認されません。 - 承認したパスのすべてのサブパスも承認される。
- たとえば、
http://example.comを承認すると、http://example.com/fooも承認されます。また、指定したドメインのサブドメインも承認されるため、http://sub.example.com/barも承認されます。 - パスの大文字と小文字は区別される。
- たとえば、
http://www.example.com/ThisPath/はhttp://www.example.com/thispath/と同じではありません。 - 有効な URL を特定のポートを使用する URL に制限できる。
- たとえば、
http://example.com:8080/fooを指定しても、http://example.comは承認されません。 - HTTP プロトコルと HTTPS プロトコルは異なる URL と見なされる。
- たとえば、
https://example.comを承認しても、http://example.comは必ずしも承認されません。両方の URL を一度に承認するには、プロトコルを使用せずにドメインを追加します(例:example.com/)。
上記のすべてのルールが各承認に適用されるため、承認する URL は慎重に検討するようにしてください。たとえば、指定したパスのすべてのサブパスや、指定したドメインのすべてのサブドメインまで承認されるため、意図しないページが承認される可能性があります。次に例を示します。
http://example.com/ を指定すると http://sub.example.com/path も承認されます。
詳細については、Google Maps APIs Premium Plan の承認のトラブルシューティングをご覧ください。
