Usar o OAuth (Automotive)

Autorizar suas solicitações para annotatePaths exige uma conta de serviço na lista de permissões para o projeto associado do Google Cloud. Em seguida, você pode personificar a conta de serviço e gerar um token OAuth, que é transmitido como um cabeçalho nas solicitações.

Configurar uma conta de serviço

Como apenas contas de serviço na lista de permissões têm permissão para chamar annotatePaths, você precisa atuar como uma conta de serviço usando a representação da conta de serviço.

  1. Siga as instruções em Como criar uma conta de serviço. O e-mail da conta de serviço tem o seguinte formato geral:

    SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    
  2. Envie o e-mail da conta de serviço para seu representante comercial do Google. O representante adiciona essa conta de serviço a uma lista de permissões autorizada a chamar annotatePaths.

Adicionar usuários que podem representar a conta de serviço

Adicione um usuário que esteja autorizado a representar a conta de serviço:

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

Também é possível adicionar usuários autorizados a representar a conta de serviço por meio do Console do Cloud. Consulte Criar uma conta de serviço.

Como solucionar problemas se o comando falhar

Se esse comando falhar, peça para um proprietário do projeto executá-lo ou que conceda a você o papel roles/iam.serviceAccountAdmin na conta de serviço executando:

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

Gerar um token OAuth de curta duração

Se você quiser configurar annotatePaths usando um token OAuth, mas não tiver uma configuração de ambiente para gerar tokens, use o procedimento nesta seção para receber um token OAuth de curta duração usando a CLI gcloud. O token expira em uma hora. Para mais detalhes, consulte Criar credenciais de curta duração para uma conta de serviço. As etapas a seguir são uma visualização resumida das instruções.

  1. Faça login no gcloud:

    gcloud auth login
    

    O gcloud abre uma janela do navegador e solicita sua permissão.

  2. Definir o projeto:

    gcloud config set project PROJECT_ID
    
  3. Receba um token de acesso de curta duração usando print-access-token:

    gcloud auth print-access-token
    

    Esse comando retorna um token. Copie o token e insira-o em YOUR_ACCESS_TOKEN no seguinte comando:

    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"}'
    

    A CLI retorna o token de acesso OAuth de curta duração que agora pode ser usado para fazer solicitações para annotatePaths.

(Opcional) Verificar as permissões do token OAuth

Se você tiver problemas de autorização, verifique as permissões do token de OAuth inserindo-o no URL a seguir, personalizando OAUTH_TOKEN. (Cole-o na barra de endereço.)

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

A resposta precisa incluir um escopo de https://www.googleapis.com/auth/cloud-platform. Caso contrário, defina o escopo corretamente, conforme mostrado na seção anterior.

Usar o OAuth em ambientes de produção

Para instruções sobre como usar o OAuth em um ambiente de produção, consulte Autenticação no Google.

Solução de problemas

Se a solicitação retornar uma mensagem de erro informando que as credenciais de usuário final não são compatíveis com essa API, consulte As credenciais do usuário não funcionam.