Usar OAuth

Desenvolvedores do Espaço Econômico Europeu (EEE)

A API Solar é compatível com o uso do OAuth 2.0 para autenticação. O Google permite o uso do OAuth 2.0 para diversas finalidades, como em servidores da Web.

Este documento descreve como transmitir um token OAuth para a chamada da API Solar no seu ambiente de desenvolvimento. Para instruções sobre como usar o OAuth em um ambiente de produção, consulte Autenticação no Google.

Antes de começar

Antes de começar a usar a API Solar, você precisa de um projeto com uma conta de faturamento e a API Solar ativada. Recomendamos ter vários proprietários de projetos e administradores de faturamento para que sempre haja alguém disponível com essas funções na sua equipe. Para saber mais, consulte Configurar no console do Cloud.

Sobre o OAuth

Há muitas maneiras de criar e gerenciar tokens de acesso com OAuth com base no seu ambiente de implantação.

Por exemplo, o sistema do Google OAuth 2.0 aceita interações de servidor para servidor, como as que ocorrem entre seu aplicativo e um serviço do Google. Para esse cenário, você precisa de uma conta de serviço, que pertence ao aplicativo e não a um usuário final. Seu aplicativo chama as APIs do Google em nome da conta de serviço, evitando o envolvimento direto dos usuários. Para mais informações sobre métodos de autenticação, consulte Autenticação no Google.

Outra opção é usar a API Solar como parte de um app para dispositivos móveis Android ou iOS. Para informações gerais sobre como usar o OAuth com a API Solar, incluindo como gerenciar tokens de acesso para diferentes ambientes de implantação, consulte Como usar o OAuth 2.0 para acessar as APIs do Google.

Sobre os escopos do OAuth

Para usar o OAuth com a API Solar, o token OAuth precisa receber o escopo:

  • https://www.googleapis.com/auth/cloud-platform

Exemplo: testar chamadas da API REST no seu ambiente de desenvolvimento local

Se você quiser testar a API Solar usando um token OAuth, mas não tiver um ambiente configurado para gerar tokens, use o procedimento nesta seção para fazer a chamada.

Este exemplo descreve como usar o token do OAuth fornecido pelas Application Default Credentials (ADC) para fazer a chamada. Para informações sobre como usar o ADC para chamar APIs do Google usando bibliotecas de cliente, consulte Autenticar usando bibliotecas de cliente.

Pré-requisitos

Antes de fazer uma solicitação REST usando o ADC, use a CLI do Google Cloud para fornecer credenciais ao ADC:

  1. Se ainda não tiver feito isso, crie um projeto e ative o faturamento seguindo as etapas em Configurar no console do Google Cloud.
  2. Instale e inicialize a gcloud CLI.
  3. Execute o seguinte comando gcloud na sua máquina local para criar o arquivo de credenciais:

    gcloud auth application-default login
  4. Uma tela de login será exibida. Após o login, suas credenciais são armazenadas no arquivo de credenciais local usado pelo ADC.

Para mais informações, consulte a seção Ambiente de desenvolvimento local da documentação Fornecer credenciais para o Application Default Credentials.

Fazer uma solicitação REST

Neste exemplo, você transmite dois cabeçalhos de solicitação:

  • Transmita o token OAuth no cabeçalho Authorization usando o seguinte comando para gerar o token:

    gcloud auth application-default print-access-token

    O token retornado tem um escopo de https://www.googleapis.com/auth/cloud-platform.

  • Transmita o ID ou o nome do seu projeto do Google Cloud com o faturamento ativado no cabeçalho X-Goog-User-Project. Para saber mais, consulte Configurar no console do Cloud.

O exemplo a seguir faz uma chamada para a API Solar usando um token OAuth:

curl -X GET \
-H 'X-Goog-User-Project: PROJECT_NUMBER_OR_ID' \
-H "Authorization: Bearer $TOKEN" \
"https://solar.googleapis.com/v1/dataLayers:get?location.latitude=37.4450&location.longitude=-122.1390&radius_meters=100&required_quality=HIGH"

Solução de problemas

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