annotatePaths
へのリクエストを承認するには、関連する Google Cloud プロジェクトの許可リストにサービス アカウントが必要です。その後、サービス アカウントの権限を借用して OAuth トークンを生成できます。このトークンは、リクエストでヘッダーとして渡されます。
サービス アカウントを設定する
annotatePaths
の呼び出しが許可されるのは、許可リスト内のサービス アカウントのみであるため、サービス アカウントの権限借用を通じて、サービス アカウントとして操作する必要があります。
サービス アカウントの作成の手順に沿って操作します。サービス アカウントのメールアドレスの一般的な形式は次のとおりです。
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
サービス アカウントのメールアドレスを 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 時間で期限切れになります)。詳細については、サービス アカウントに有効期間の短い認証情報を作成するをご覧ください。ここでは、この手順を簡略化して説明します。
gcloud にログインします。
gcloud auth login
gcloud によりブラウザ ウィンドウが開き、権限を求めるプロンプトが表示されます。
プロジェクトを設定します。
gcloud config set project PROJECT_ID
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 でサポートされていないエンドユーザー認証情報に関するエラー メッセージが返される場合は、ユーザー認証情報が機能しないをご覧ください。