OAuth(Automotive)を使用する

annotatePaths へのリクエストを承認するには、関連する Google Cloud プロジェクトの許可リストにサービス アカウントが必要です。次に、サービス アカウントの権限を借用して OAuth トークンを生成します。このトークンは、リクエストのヘッダーとして渡されます。

サービス アカウントを設定する

許可リスト内のサービス アカウントのみが annotatePaths を呼び出すことができるため、サービス アカウントの権限借用を通じてサービス アカウントとして操作する必要があります。

  1. サービス アカウントの作成の手順に沿って操作します。サービス アカウントのメールアドレスは、次の一般的な形式です。

    SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    
  2. サービス アカウントのメールを Google のビジネス担当者に送信します。担当者が、annotatePaths を呼び出す権限のある許可リストにこのサービス アカウントを追加します。

サービス アカウントの権限を借用できるユーザーを追加する

サービス アカウントの権限を借用する権限を持つユーザーを追加します。

gcloud iam service-accounts add-iam-policy-binding \
    SERVICE_ACCOUNT \
    --member=user:USER_EMAIL \
    --role=roles/iam.serviceAccountTokenCreator \
    --project=PROJECT_ID

Cloud コンソールで、サービス アカウントの権限を借用できるユーザーを追加することもできます。サービス アカウントを作成するをご覧ください。

コマンドが失敗した場合のトラブルシューティング

このコマンドが失敗した場合は、コマンドを実行するか、次のコマンドを実行してサービス アカウントに roles/iam.serviceAccountAdmin ロールを付与するようプロジェクト オーナーに依頼してください。

gcloud iam service-accounts add-iam-policy-binding \
   SERVICE_ACCOUNT \
    --member=USER_EMAIL \
    --role=roles/iam.serviceAccountAdmin \
    --project=PROJECT_ID

有効期間の短い OAuth トークンを生成する

OAuth トークンを使用して annotatePaths を設定したいが、トークンを生成する環境を設定していない場合は、このセクションの手順に沿って、gcloud CLI を使用して有効期間の短い OAuth トークンを取得します。(トークンは 1 時間で期限切れになります)。詳細については、サービス アカウントに有効期間の短い認証情報を作成するをご覧ください。以下の手順は、この手順を簡略化したものです。

  1. gcloud にログインします。

    gcloud auth login
    

    gcloud によってブラウザ ウィンドウが開き、許可を求めるプロンプトが表示されます。

  2. プロジェクトを設定します。

    gcloud config set project PROJECT_ID
    
  3. print-access-token を使用して、有効期間の短いアクセス トークンを取得します。

    gcloud auth print-access-token
    

    このコマンドはトークンを返します。トークンをコピーして、次のコマンドの YOUR_ACCESS_TOKEN に挿入します。

    curl -X POST \
    https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT:generateAccessToken \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d '{"scope": ["https://www.googleapis.com/auth/cloud-platform"],"lifetime": "3600s"}'
    

    CLI は有効期間の短い OAuth アクセス トークンを返します。このトークンを annotatePaths へのリクエストに使用できます。

(省略可)OAuth トークンの権限を確認する

認可の問題が発生した場合は、次の URL にトークンを挿入して OAUTH_TOKEN をカスタマイズすることで、OAuth トークンの権限を確認できます。(これをアドレスバーに貼り付けます)。

https://oauth2.googleapis.com/tokeninfo?access_token=OAUTH_TOKEN

レスポンスには、https://www.googleapis.com/auth/cloud-platform のスコープが含まれている必要があります。設定されていない場合は、前のセクションに示すようにスコープが正しく設定されていることを確認してください。

本番環境で OAuth を使用する

本番環境で OAuth を使用する手順については、Google での認証をご覧ください。

トラブルシューティング

リクエストから、この API でサポートされていないエンドユーザー認証情報に関するエラー メッセージが返された場合は、ユーザー認証情報が機能しないをご覧ください。