Geocoding API を設定する

欧州経済領域(EEA)のデベロッパー

このドキュメントでは、Geocoding API の使用を開始するために必要な手順について説明します。

Google Maps Platform サービスでは、不正な使用を防ぐため、API 呼び出しに API キーまたは OAuth トークンを含める必要があります。デプロイ環境に一致する設定手順を選択できます。

OAuth トークンを作成する

Geocoding API は、認証に OAuth 2.0 をサポートしています。Google は、ウェブサーバーのシナリオなど、一般的な OAuth 2.0 シナリオをサポートしています。

このドキュメントでは、開発環境で Geocoding API 呼び出しに OAuth トークンを渡す方法について説明します。本番環境で OAuth を使用する方法については、Google での認証方法をご覧ください。

Google Maps API は、サーバーに API リクエストを送信して直接呼び出すことも、クライアント ライブラリを使用してコードを簡素化することもできます。Google マップには、Go、Java、Node.js、Python 用のクライアント ライブラリが用意されています。詳しくは、Geocoding API のクライアント ライブラリをご覧ください。

OAuth の概要

デプロイ環境に応じて、いくつかの方法で OAuth を使用してアクセス トークンを作成、管理できます。

OAuth 2.0 を使用すると、アプリケーションと Google サービス間のサーバー間インタラクションを行うことができます。このシナリオでは、個々のユーザーではなく、アプリケーションに関連付けられたサービス アカウントを使用します。サービス アカウントを使用すると、ユーザーが直接関与することなく API リクエストを行うことができます。認証方法の詳細については、Google での認証方法をご覧ください。

また、Geocoding API を Android または iOS のモバイルアプリに統合することもできます。さまざまなデプロイ環境で OAuth を使用してアクセス トークンを管理する方法については、OAuth 2.0 を使用した Google API へのアクセスをご覧ください。

OAuth スコープ

Geocoding API で OAuth を使用するには、OAuth トークンに正しいスコープを割り当てる必要があります。Geocoding API は、次のスコープをサポートしています。

  • https://www.googleapis.com/auth/maps-platform.geocode - すべての Geocoding API メソッドで使用します。
  • https://www.googleapis.com/auth/maps-platform.destinations - 目的地と到着のクエリで SearchDestinations と組み合わせてのみ使用します。
  • https://www.googleapis.com/auth/maps-platform.geocode.address - GeocodeAddress と組み合わせて、フォワード ジオコーディングでのみ使用します。
  • https://www.googleapis.com/auth/maps-platform.geocode.location - リバース ジオコーディングで GeocodeLocation と組み合わせてのみ使用します。
  • https://www.googleapis.com/auth/maps-platform.geocode.place - プレイス ジオコーディングの GeocodePlace でのみ使用します。

すべての Geocoding API メソッドに一般的な https://www.googleapis.com/auth/cloud-platform スコープを使用することもできます。このスコープは、gcloud CLI でトークンを作成するときのデフォルトのスコープであるため、開発時に役立ちます。

例: ローカル開発環境で REST API 呼び出しを試す

トークンを生成する環境がなく、OAuth トークンを使用して Geocoding API を試す場合は、このセクションの手順を使用します。

この例では、アプリケーションのデフォルト認証情報(ADC)から提供された OAuth トークンを使用して呼び出しを行う方法について説明します。ADC を使用してクライアント ライブラリから Google API を呼び出す方法については、クライアント ライブラリを使用した認証をご覧ください。

次の REST 手順は、開発またはテストにのみ使用し、本番環境では使用しないでください。

前提条件

ADC を使用して REST リクエストを行う前に、gcloud CLI を使用して ADC に認証情報を指定します。

  1. gcloud CLI をインストールして初期化します。詳細については、gcloud CLI をインストールするをご覧ください。

  2. gcloud CLI で認証します。

    gcloud auth application-default login
  3. ログイン プロセスを完了して、ADC で使用されるローカル認証情報ファイルに認証情報を保存します。

詳細については、ローカル開発環境の ADC の設定をご覧ください。

REST リクエストを行う

この例では、2 つのリクエスト ヘッダーを渡します。

  • 次のコマンドを使用してトークンを生成し、Authorization ヘッダーで OAuth トークンを渡します。

    gcloud auth application-default print-access-token

    返されるトークンのスコープは https://www.googleapis.com/auth/cloud-platform です。

  • X-Goog-User-Project ヘッダーに、課金が有効になっている Google Cloud プロジェクトの ID または名前を渡します。

OAuth トークンを使用して Geocoding API を呼び出す手順は次のとおりです。

  1. 次のコードサンプルで、PROJECT_ID は Google Cloud プロジェクト ID に置き換えます。

    curl -X GET -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://geocode.googleapis.com/v4/geocode/address/1600+Amphitheatre+Parkway,+Mountain+View,+CA"
    
  2. curl コマンドをコピーするには、コードサンプルの [コピー] をクリックします。

  3. コマンドをターミナル ウィンドウに貼り付けて実行します。

トラブルシューティング

この API がエンドユーザー認証情報をサポートしていないというエラー メッセージがリクエストから返された場合は、ADC 設定のトラブルシューティングをご覧ください。