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 でサポートされていないエンドユーザー認証情報に関するエラー メッセージが返される場合は、ユーザー認証情報が機能しないをご覧ください。