Como acessar a API Admin

Antes que usuários ou aplicativos possam usar a API Google App Engine Admin, como proprietário do projeto do Google Cloud, primeiro ative a API no projeto e depois crie credenciais que os usuários ou aplicativos possam usar para autorizar HTTP.

Por exemplo, um proprietário precisa criar um projeto inicial do Google Cloud e depois criar credenciais nesse projeto para que qualquer pessoa possa enviar solicitações HTTP para a API Admin. Depois que o proprietário definir e configurar o projeto inicial, esse projeto poderá ser usado com fins administrativos para criar e gerenciar outros recursos de maneira programática. Por exemplo:

  • Criar outros projetos do Google Cloud.
  • Criar aplicativos do App Engine para todos os projetos recém-criados.
  • Implantar versões de aplicativos em aplicativos recém-criados do App Engine.
  • Gerenciar recursos em todas as versões que você implantou.

Antes de começar

Para concluir a tarefa a seguir, é preciso ser proprietário do projeto do Google Cloud em que quer ativar a API Admin para usuários e aplicativos.

Configurar o projeto e criar credenciais

Para configurar seu projeto do Google Cloud e criar credenciais:

  1. Ative a API Admin do Google App Engine e a API Cloud Storage no seu projeto do Google Cloud:

    Ativar ambas as APIs

  2. Crie credenciais que usuários e aplicativos usarão para acessar a API Admin no projeto.

    Para criar credenciais, analise o Guia de autenticação do Google Cloud Platform e escolha o fluxo de autorização do OAuth 2.0 que atenda aos requisitos do aplicativo.

Exemplos

Para demonstrar um fluxo de autenticação, os exemplos abaixo usam o fluxo OAuth 2.0 do lado do cliente, para receber um token. O token é usado para autorizar solicitações à API Admin com o uso da ferramenta de linha de comando cURL, para implantar o aplicativo de exemplo no aplicativo do App Engine do projeto [MY_PROJECT_ID].

Exemplo de autenticação

Neste exemplo, no fluxo de autorização do lado do cliente, conhecido como o fluxo de concessão implícito, é obrigatório que o usuário autorize o acesso do aplicativo cliente à API Admin, em nome do usuário. O token de acesso retornado é válido por aproximadamente 60 minutos ou enquanto o usuário estiver ativo no aplicativo.

Solicitação HTTP

O URL a seguir usa um código do cliente que foi criado no console do Google Cloud para solicitar um token de acesso e redirecionar o usuário para um URI autorizado em que o aplicativo recebe o token:

https://accounts.google.com/o/oauth2/v2/auth?
  response_type=token&
  client_id=[MY_CLIENT_ID].apps.googleusercontent.com&
  scope=https://www.googleapis.com/auth/cloud-platform&
  redirect_uri=[MY_REDIRECT_URI]

Em que:

  • [MY_CLIENT_ID] é um ID do cliente de uma das suas credenciais no Console do Google Cloud.
  • [MY_REDIRECT_URI] são os URIs de redirecionamento autorizados que correspondem à mesma credencial no Console do Google Cloud. Se nenhum URI de redirecionamento for especificado, será preciso especificar um URI confiável, por exemplo, https://www.google.com. Observação: o URI de redirecionamento define para onde a resposta HTTP é enviada. Para a produção, especifique o endpoint de autenticação do seu aplicativo, esse endpoint lida com respostas do servidor OAuth 2.0. Para mais informações, consulte Como usar o OAuth 2.0 para aplicativos de servidor da Web.

Resposta HTTP

Quando o aplicativo usa o URL para solicitar autorização, o token de acesso é retornado em uma resposta, por exemplo:

https://www.google.com/#access_token=[MY_ACCESS_TOKEN]&
  token_type=Bearer&
  expires_in=3600

Em que [MY_ACCESS_TOKEN] é o token de acesso retornado que você solicitou.

Depois de receber um token de acesso, será possível usá-lo para acessar a API Admin. Por exemplo, o endpoint de autenticação do seu aplicativo pode extrair programaticamente o token de acesso da resposta. Confira o exemplo a seguir para saber como usar manualmente seu token em um comando cURL.

Exemplo de solicitação HTTP usando cURL

O comando cURL a seguir demonstra como usar o token de acesso [MY_ACCESS_TOKEN] para fazer uma solicitação HTTP POST. Esse comando cURL implanta os recursos definidos no arquivo de configuração app.json na versão v1 do serviço default no aplicativo do projeto MY_PROJECT_ID.

curl -X POST -T "app.json" -H "Content-Type: application/json" -H "Authorization: Bearer [MY_ACCESS_TOKEN]" https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]/services/default/versions

A seguir