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