Places API(新規)は、認証に OAuth 2.0 を使用できます。Google は、ウェブサーバーなど、OAuth 2.0 の一般的なシナリオに対応しています。
このドキュメントでは、開発環境で Places API(新規)呼び出しに OAuth トークンを渡す方法について説明します。本番環境で OAuth を使用する手順については、Google での認証をご覧ください。
始める前に
Places API(新規)を使用するには、請求先アカウントが登録されたプロジェクトを用意し、Places API(新規)を有効化しておく必要があります。複数のプロジェクト オーナーと課金管理者を作成し、これらの役割をチーム内の誰かが必ず担えるようにすることをおすすめします。詳しくは、Google Cloud Console でセットアップするをご覧ください。
OAuth について
デプロイに基づいてさまざまな方法で OAuth でアクセス トークンを作成、管理 できます。
たとえば、Google OAuth 2.0 システムは、 Google サービス間で通信を行えます。このシナリオではサービス アカウントが必要です。 個々のエンドユーザーではなくアプリケーションに属すアカウントです。お客様の アプリケーションがサービス アカウントに代わって Google API を呼び出すため、ユーザーが直接関与する必要はありません。 認証方法の詳細については、以下をご覧ください。 Google での認証。
また、Android または iOS モバイルアプリの一部として Places API(新規)を使用することもできます。さまざまなデプロイ環境のアクセス トークンの管理など、Places API(新規)で OAuth を使用する一般的な情報については、OAuth 2.0 を使用した Google API へのアクセスをご覧ください。
OAuth スコープについて
Places API(新版)で OAuth を使用するには、OAuth トークンにスコープを割り当てる必要があります。
https://www.googleapis.com/auth/cloud-platform
例: ローカル開発環境で REST API 呼び出しを試す
OAuth トークンを使って Places API(新版)を試したいが、環境がない トークンを生成するために、このセクションの手順に沿って呼び出しを行います。
この例では、アプリケーションのデフォルト認証情報(ADC)から提供される OAuth トークンを使用して呼び出しを行う方法について説明します。ADC を使用してクライアント ライブラリから Google API を呼び出す方法については、クライアント ライブラリを使用した認証をご覧ください。
前提条件
ADC を使用して REST リクエストを行う前に、Google Cloud CLI を使用してください。 認証情報を ADC に提供します。
- まだプロジェクトを作成していない場合は、プロジェクトを作成し、 Google Cloud コンソールでセットアップする。
- gcloud CLI をインストールして初期化します。
ローカルマシンで次の
gcloud
コマンドを実行して、 認証情報ファイル:gcloud auth application-default login
- ログイン画面が表示されます。ログインすると、認証情報が 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
ヘッダーに渡します。詳しくは、 Cloud コンソールで設定します。
次の例では、OAuth トークンを使用して Places API(新規)を呼び出します。
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project:PROJECT_ID " \ -H "X-Goog-FieldMask: places.displayName,places.formattedAddress" \ "https://places.googleapis.com/v1/places:searchText"
トラブルシューティング
リクエストから、この API でサポートされていないエンドユーザー認証情報に関するエラー メッセージが返された場合は、ユーザー認証情報が機能しないをご覧ください。