注: 現在、新規にお申し込みのお客様は Google Maps Platform プレミアム プランをご利用いただけません。
認証方式を選択する
Maps JavaScript API を使用するには:
- プレミアム プランをご利用のお客様は、API キーまたはクライアント ID を使用してリクエストを認証できます。
- 以前のライセンスをご利用のお客様は、クライアント ID を使用してリクエストを認証する必要があります。
それぞれの認証方式で使用できるツールとレポートは次のとおりです。
- API キーによる認証(プレミアム プラン)
API キーを使用してリクエストを認証する場合:- Google Cloud Console の API ページですべての API を管理できます。
- Cloud Console で、リアルタイムの使用状況データと過去 30 日間の使用状況データを確認できます。
- リクエストに
channel
パラメータを追加すると、より詳細な使用状況レポートを表示できます。 - Cloud Console で、30 日以上のデータが反映された使用状況レポートを表示できます。
- クライアント ID による認証(プレミアム プランまたは以前のライセンス)
クライアント ID を使用してリクエストを認証する場合:- リクエストに
channel
パラメータを追加すると、より詳細な使用状況レポートを表示できます。 - Cloud Console で、30 日以上のデータが反映された使用状況レポートを表示できます。
- Maps JavaScript API で Maps Analytics ツールを使用できます。
- リクエストに
プレミアム プランのお客様が利用できるレポートをご確認ください。
API キーを使用した認証
API キーを作成する
API キーは、使用量を正確に集計して課金するため、プロジェクトに関連付けられたリクエストであることを認証する一意の識別子です。少なくとも 1 つの API キーをプロジェクトに関連付ける必要があります。
API キーを作成するには:
-
Cloud Console の [プロジェクトの選択] ページで、API キーを追加する Google Cloud プロジェクトを選択または作成します。
注: プレミアム プランのすべての機能をご利用になるには、お客様のプレミアム アカウントに関連付けられたプロジェクトを使用する必要があります。ライセンスの購入時に、
gme-[company] > proj-[number] ([type])
の形式のプレミアム アセット名がお客様に通知されています。適切なプロジェクトにアクセスするため、console.cloud.google.com/project/number
(number
はお客様のプロジェクト番号)を使用し、プロジェクト オーナーとして Cloud Console にログインしてください。プロジェクト オーナーはウェルカム レターに記載されています。 -
[Google Maps Platform] > [認証情報] ページに移動します。
-
[認証情報] ページで、[認証情報を作成] > [API キー] をクリックします。
[API キーを作成しました] ダイアログに、新しく作成した API キーが表示されます。 -
[閉じる] をクリックします。
新しく作成した API キーが [認証情報] ページの [API キー] に表示されます。
(本番環境で使用する前に、忘れずに API キーの使用を制限してください)。
アプリに API キーを追加する
すべての Google Maps Platform リクエストに API キーを追加する必要があります。
次の例では、YOUR_API_KEY
を API キーに置き換えます。
<script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" type="text/javascript"></script>
API キーを使用するリクエストには HTTPS が必要です。クライアント ID を使用するリクエストの場合、HTTPS は必須ではありませんが、推奨されています。ユーザーの位置情報などの機密性の高いユーザーデータをリクエストに含めるアプリケーションにも、HTTPS が必要です。
API キーの制限
許可したリクエストにのみ API キーを使用するよう制限することで、アプリケーションのセキュリティが向上します。以下の手順に沿って API キーの制限を設定することを強くおすすめします。詳しくは、API セキュリティに関するベスト プラクティスをご覧ください。
API キーを制限するには:
-
[Google Maps Platform] > [認証情報] ページに移動します。
- 制限を設定する API キーを選択します。選択した API キーのプロパティ ページが表示されます。
- [キーの制限] で、次の制限を設定します。
- アプリケーションの制限:
- 指定したウェブサイトからのリクエストを受け入れるには、[アプリケーションの制限] のリストで [HTTP リファラー(ウェブサイト)] を選択します。
- 参照元のウェブサイトを 1 つ以上指定します。たとえば、
*.google.com
を指定すると、google.com
で終わるすべてのサイト(https://developers.google.com
など)からのリクエストを受け入れます。
注: 参照元が file:// の場合、キーの制限へ追加するには特殊な表現が必要です。「file://」の部分を「__file_url__」に置き換えてから、キーの制限に追加してください。たとえば、「file:///path/to/」は「__file_url__//path/to/*」になります。file:// 参照元を有効にしたら、使用量を定期的にチェックして、適切に運用されているか確認することをおすすめします。
- API の制限:
- [キーを制限] をクリックします。
- [API を選択] プルダウンから [Google Maps Platform] を選択します。 Google Maps Platform がリストに表示されない場合は、この API を有効にする必要があります。
- プロジェクトでプレイス ライブラリを使用する場合は、[Places API] も選択します。同様に、プロジェクトで JavaScript API の他のサービス(Directions サービス、Distance Matrix サービス、Elevation サービス、Geocoding サービスなど)を使用する場合は、このリストで該当する API を有効にして、選択する必要があります。
- 変更が完了したら、[保存] をクリックします。
クライアント ID を使用した認証
Google Maps Platform プレミアム プラン ライセンスをご購入いただくと、クライアント ID が記載されたウェルカム メールがお手元に届きます。このクライアント ID を使用して、Google Maps Platform プレミアム プランのさまざまなレポートやツールにアクセスします。
クライアント ID はすべて、「gme-」という文字列で始まります。一般的なクライアント ID の形式は次のとおりです。
gme-[company] > proj-[number] ([type])
(API キーではなく)クライアント ID と URL 登録の組み合わせを使用して、Maps JavaScript API のリクエストを認証できます。
注: このクライアント ID は「鍵」ではありません。お客様が承認した URL でのみ使用できます。詳しくは、承認対象の URL を登録するをご覧ください。
API の読み込み時にクライアント ID を指定する
次のコードは、Maps JavaScript API を読み込む際に、YOUR_CLIENT_ID をお客様のクライアント ID に置き換える方法を示しています。
<script async defer src="https://maps.googleapis.com/maps/api/js?client=YOUR_CLIENT_ID&v=quarterly&callback=initMap"></script>
v=quarterly
パラメータを追加して、リリース バージョン(機能安定バージョン)または以前のバージョンを指定する必要があります。試験運用版を使用するアプリケーションは、Google Maps Platform プレミアム プラン SLA の対象外です。
注: これまで API キーを使用してリクエストを認証しており、今後はクライアント ID による認証に切り替える場合は、API を読み込む前に key
パラメータを削除する必要があります。クライアント ID と API キーが両方追加されていると、API の読み込みに失敗します。
承認対象の URL を登録する
お客様のクライアント ID が第三者のウェブサイトで不正に使用されないようにするため、明示的に承認した URL 以外ではクライアント ID を使用できないように制限されます。
すでに承認している URL を確認する、または追加の URL を承認するには:
- Google Cloud Console にログインします。
- 左側のメニューで [Maps: Manage Client ID] をクリックします。
一度に最大 100 件の URL を追加できます。クライアント ID は、最大 3,000 件の承認済み URL に関連付けることができます。アプリケーションでホストする Google Maps コンテンツが 3,000 を超える場合は、代わりに API キーを使用してください。
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 を慎重に検討してください。たとえば、パスやドメインを指定すると、そのサブパスとサブドメインもすべて承認されるため、意図しないページが承認される可能性があります。例は次のとおりです。
http://example.com/
を指定すると、http://sub.example.com/path
も承認されます。
詳しくは、トラブルシューティング - Google Maps Platform プレミアム プランの URL 承認をご覧ください。