Usar o OAuth (Automotive)

Para autorizar suas solicitações para annotatePaths, é preciso ter uma conta de serviço na lista de permissões do projeto associado do Google Cloud. Em seguida, é possível 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 as contas de serviço na lista de permissões podem chamar annotatePaths, você precisa agir 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.

Adicione 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 no Console do Cloud. Consulte Criar uma conta de serviço.

Solução de problemas se o comando falhar

Se esse comando falhar, peça ao proprietário do projeto para executar o comando para você ou que conceda 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 o 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 visão resumida dessas instruções.

  1. Faça login na gcloud:

    gcloud auth login
    

    A gcloud abre uma janela do navegador e solicita a 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 com o 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 ao fazer solicitações para annotatePaths.

(Opcional) Verificar as permissões do token OAuth

Se você tiver problemas de autorização, verifique suas permissões do token OAuth inserindo o token no seguinte URL, 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, como 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 estão funcionando.