このドキュメントでは、Geocoding API の使用を開始するために必要な手順について説明します。
|
前提条件を満たしていることを確認します。 |
Google Cloud プロジェクトで API を有効にします。 |
API キーまたは OAuth を構成して、認証済みの 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 に認証情報を指定します。
gcloudCLI をインストールして初期化します。詳細については、gcloud CLI をインストールするをご覧ください。gcloudCLI で認証します。gcloud auth application-default login
ログイン プロセスを完了して、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 を呼び出す手順は次のとおりです。
次のコードサンプルで、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"
curlコマンドをコピーするには、コードサンプルの [コピー] をクリックします。コマンドをターミナル ウィンドウに貼り付けて実行します。
トラブルシューティング
この API がエンドユーザー認証情報をサポートしていないというエラー メッセージがリクエストから返された場合は、ADC 設定のトラブルシューティングをご覧ください。