Roads Selection API は、BigQuery と Pub/Sub に道路データを提供するコア コンポーネントとして Roads Selection API を使用します。
Roads Selection API は、認証に OAuth 2.0 の使用をサポートしています。Google は、ウェブサーバー上のアプリケーションなど、OAuth 2.0 の一般的なシナリオに対応しています。
このドキュメントでは、開発環境で Roads Selection API 呼び出しに OAuth トークンを渡す方法について説明します。本番環境で OAuth を使用する方法については、Google での認証をご覧ください。
始める前に
Roads Selection API を使用するには、請求先アカウントと Roads Selection API が有効なプロジェクトが必要です。詳細については、Cloud コンソールでの設定をご覧ください。
OAuth について
デプロイ環境に応じて、OAuth を使用してアクセス トークンを作成および管理する方法がいくつかあります。
たとえば、Google OAuth 2.0 システムは、アプリケーションと Google サービス間のサーバー間インタラクションをサポートしています。このシナリオでは、サービス アカウントが必要です。サービス アカウントは、個々のユーザーではなく、アプリケーションに属するアカウントです。ユーザーが直接関与しないため、アプリケーションはサービス アカウントの代わりに Google API を呼び出します。認証方法の詳細については、Google での認証をご覧ください。
また、Android または iOS モバイルアプリの一部として Roads Selection API を使用することもできます。Roads Selection API で OAuth を使用する方法(さまざまなデプロイ環境のアクセス トークンを管理する方法など)については、OAuth 2.0 を使用して Google API にアクセスするをご覧ください。
OAuth スコープについて
Roads Selection API で OAuth を使用するには、OAuth トークンに https://www.googleapis.com/auth/cloud-platform スコープが必要です。
例: ローカル開発環境で REST API 呼び出しを試す
OAuth トークンを使用して Roads Selection API を試したいが、トークンを生成する環境が設定されていない場合は、このセクションの手順に沿ってリクエストを送信します。
この例では、アプリケーションのデフォルト認証情報(ADC)から提供された OAuth トークンを使用して呼び出しを行う方法について説明します。ADC を使用してクライアント ライブラリから Google API を呼び出す方法については、クライアント ライブラリを使用した認証をご覧ください。
前提条件
ADC を使用して REST リクエストを行う前に、Google Cloud CLI を使用して ADC に認証情報を提供します。
- まだ作成していない場合は、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です。X-Goog-User-Projectヘッダーで、課金が有効になっている Google Cloud プロジェクトの ID または名前を渡します。詳細については、Cloud コンソールでのセットアップをご覧ください。
OAuth トークンを使用して Roads Selection API を呼び出します。
curl -X GET \ -H 'X-Goog-User-Project: PROJECT_NUMBER' \ -H 'Authorization: Bearer ACCESS_TOKEN' \ https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID
トラブルシューティング
この API が対応していないエンドユーザー認証情報に関するエラー メッセージがリクエストから返された場合は、ユーザーの認証情報が機能しないをご覧ください。