Siga as etapas deste guia de início rápido e, em cerca de 10 minutos, você terá um aplicativo de linha de comando Python simples que faz solicitações para os registros sem toque a API de registro do cliente usando uma conta de serviço.
Pré-requisitos
Para executar este guia de início rápido, você precisa do seguinte:
- Uma conta de serviço vinculada ao seu cliente de registro sem toque do Compute Engine. Consulte Começar.
- Python 3.0 ou mais recente.
- Gerenciamento de pacotes pip .
- Acesso à Internet e a um navegador da Web.
Etapa 1: ativar a API de registro sem toque
- Use este assistente para criar ou selecionar um projeto no Google Developers Console e ativar a API automaticamente. Clique em Continuar e em Acessar credenciais .
- Defina Quais dados você vai acessar? como Dados do aplicativo.
- Clique em Próxima. Você vai receber uma solicitação para criar um serviço do Compute Engine.
- Dê um nome descritivo para Nome da conta de serviço.
- Anote o ID da conta de serviço (parece um endereço de e-mail) porque você usá-lo mais tarde.
- Defina Papel como Contas de serviço > Usuário da conta de serviço.
- Clique em Concluído para terminar a criação da conta de serviço.
- Clique no endereço de e-mail da conta de serviço que você criou.
- Clique em **Chaves**.
- Clique em **Adicionar chave** e em **Criar nova chave**.
- Em **Tipo de chave**, selecione **JSON**.
- Clique em Criar. O download da chave privada é feito no computador.
- Clique em **Fechar**.
- Mova o arquivo para o diretório de trabalho e renomeie-o como
service_account_key.json
.
Etapa 2: instalar a biblioteca de cliente do Google
Execute o comando a seguir para instalar a biblioteca usando o pip:
pip install --upgrade google-api-python-client oauth2client
Consulte a página de instalação da biblioteca para conferir as diferentes opções de instalação.
Etapa 3: configurar a amostra
Crie um arquivo chamado quickstart.py
no seu diretório de trabalho. Copie o
código abaixo e salve o arquivo.
#!/usr/bin/env python # -*- coding: utf-8 -*- """Zero-touch enrollment quickstart sample. This script forms the quickstart introduction to the zero-touch enrollemnt customer API. To learn more, visit https://developer.google.com/zero-touch """ import sys from apiclient import discovery import httplib2 from oauth2client.service_account import ServiceAccountCredentials # A single auth scope is used for the zero-touch enrollment customer API. SCOPES = ['https://www.googleapis.com/auth/androidworkzerotouchemm'] SERVICE_ACCOUNT_KEY_FILE = 'service_account_key.json' def get_credential(): """Creates a Credential object with the correct OAuth2 authorization. Uses the service account key stored in SERVICE_ACCOUNT_KEY_FILE. Returns: Credentials, the user's credential. """ credential = ServiceAccountCredentials.from_json_keyfile_name( SERVICE_ACCOUNT_KEY_FILE, SCOPES) if not credential or credential.invalid: print('Unable to authenticate using service account key.') sys.exit() return credential def get_service(): """Creates a service endpoint for the zero-touch enrollment API. Builds and returns an authorized API client service for v1 of the API. Use the service endpoint to call the API methods. Returns: A service Resource object with methods for interacting with the service. """ http_auth = get_credential().authorize(httplib2.Http()) return discovery.build('androiddeviceprovisioning', 'v1', http=http_auth) def main(): """Runs the zero-touch enrollment quickstart app. """ # Create a zero-touch enrollment API service endpoint. service = get_service() # Get the customer's account. Because a customer might have more # than one, limit the results to the first account found. response = service.customers().list(pageSize=1).execute() if 'customers' not in response: # No accounts found for the user. Confirm the Google Account # that authorizes the request can access the zero-touch portal. print('No zero-touch enrollment account found.') sys.exit() customer_account = response['customers'][0]['name'] # Send an API request to list all the DPCs available using the customer # account. results = service.customers().dpcs().list(parent=customer_account).execute() # Print out the details of each DPC. for dpc in results['dpcs']: # Some DPCs may not have a name, so replace with a marker. if 'dpcName' in dpc: dpcName = dpc['dpcName'] else: dpcName = "-" print('Name:{0} APK:{1}'.format(dpcName, dpc['packageName'])) if __name__ == '__main__': main()
Etapa 4: adicionar a chave da conta de serviço
Copie o arquivo service_account_key.json
que você transferiu por download quando criou o
conta de serviço no seu diretório de trabalho.
Etapa 5: executar o exemplo
Use a ajuda do sistema operacional para executar o script no arquivo. Em computadores UNIX e Mac, execute o comando abaixo no terminal:
python quickstart.py
Observações
- Evite compartilhar o arquivo
service_account_key.json
com ninguém. Cuidado em repositórios de código-fonte. Leia mais conselhos sobre como gerenciar segredos de contas de serviço.