Geocoding API を設定する

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

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

Google Maps Platform サービスでは、API 呼び出しにAPI キー またはOAuth トークンいずれか を含める必要があるため、不正使用を防止できます。

OAuth トークンを作成する

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

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

OAuth について

デプロイ環境に応じて、OAuth を使用してアクセス トークンを作成、管理する方法は多数あります。

たとえば、Google OAuth 2.0 システムは、アプリケーションと Google サービス間のやり取りなど、サーバー間インタラクションをサポートしています。このシナリオでは、個々のエンドユーザーではなく、アプリケーションに属するアカウントであるサービス アカウントが必要です。サービス アカウントの代わりにアプリケーションによって Google API が呼び出されるため、ユーザーが直接関与することはありません。 認証方法について詳しくは、 Google での認証方法をご覧ください。

また、Android または iOS モバイルアプリの一部として Geocoding API を使用することもできます。 さまざまなデプロイ環境でのアクセス トークンの管理に関する情報など、Geocoding API で 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.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 を使用してトークンを作成するときに使用されるデフォルトのスコープであるため、開発時に便利です。

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

OAuth トークンを使用して Geocoding API を試したいが、トークンを生成するための環境が設定されていない場合は、このセクションの手順を使用して呼び出しを行うことができます。

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

前提条件

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

  1. gcloud CLI をインストールして初期化します
  2. ローカルマシンで次の gcloud コマンドを実行して、 認証情報ファイルを作成します。

    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. です。

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

次の例では、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. ターミナル ウィンドウにコマンドを貼り付けて、コマンドを実行します。

レスポンスは JSON オブジェクトです。

トラブルシューティング

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