Siga as etapas deste guia de início rápido e, em cerca de 10 minutos, você terá um app de linha de comando simples do Python que faz solicitações à API para revendedores do registro sem toque.
Pré-requisitos
Para executar este guia de início rápido, você vai precisar de:
- Uma Conta do Google que é membro da sua conta de revendedor de registro sem toque. Se você ainda não fez a integração, siga as etapas em Primeiros passos no guia do portal do revendedor.
- Python 2.6 ou mais recente.
- A ferramenta de gerenciamento de pacotes pip.
- Acesso à Internet e a um navegador da Web.
Etapa 1: ativar a API de inscrição 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ê acessará? como Dados do aplicativo.
- Clique em Próxima. Você vai receber uma solicitação para criar uma conta de serviço.
- 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ê vai precisar dele 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, e a chave privada será salva no seu computador.
- Clique em **Fechar**.
- Mova o arquivo para o diretório de trabalho e renomeie-o como
service_account_key.json
.
Etapa 2: vincular a conta de serviço
- Abra o portal de registro sem toque. Talvez seja necessário fazer login.
- Clique em Contas de serviço.
- Clique em Vincular conta de serviço.
- Defina Endereço de e-mail como o endereço da conta de serviço que você criou.
- Clique em Vincular conta de serviço para usar a conta de serviço com sua conta de inscrição sem contato.
Etapa 3: instalar a biblioteca de cliente do Google
Execute o seguinte comando para instalar a biblioteca usando pip:
pip install --upgrade google-api-python-client
Consulte a página de instalação da biblioteca para conferir as diferentes opções de instalação.
Etapa 4: configurar a amostra
Crie um arquivo chamado quickstart.py
no diretório de trabalho. Copie o
código abaixo e salve o arquivo. Insira seu próprio ID de parceiro
de revendedor como o valor de PARTNER_ID
(a primeira linha do app após as
importações).
#!/usr/bin/env python # -*- coding: utf-8 -*- """Zero-touch enrollment reseller quickstart. This script forms the quickstart introduction to the zero-touch enrollemnt reseller API. To learn more, visit https://developer.google.com/zero-touch """ from apiclient.discovery import build from httplib2 import Http from oauth2client.service_account import ServiceAccountCredentials # TODO: replace this with your partner reseller ID. PARTNER_ID = '11036885'; # A single auth scope is used for the zero-touch enrollment customer API. SCOPES = ['https://www.googleapis.com/auth/androidworkprovisioning'] SERVICE_ACCOUNT_KEY_FILE = 'service_account_key.json' def get_credential(): """Creates a Credential object with the correct OAuth2 authorization. Creates a Credential object with the correct OAuth2 authorization for the service account that calls the reseller API. The service endpoint calls this method when setting up a new service instance. Returns: Credential, the user's credential. """ credential = ServiceAccountCredentials.from_json_keyfile_name( SERVICE_ACCOUNT_KEY_FILE, scopes=SCOPES) return credential def get_service(): """Creates a service endpoint for the zero-touch enrollment reseller 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(Http()) service = build('androiddeviceprovisioning', 'v1', http=http_auth) return service def main(): """Runs the zero-touch enrollment quickstart app. """ # Create a zero-touch enrollment API service endpoint. service = get_service() # Send an API request to list all our customers. response = service.partners().customers().list(partnerId=PARTNER_ID).execute() # Print out the details of each customer. if 'customers' in response: for customer in response['customers']: print 'Name:{0} ID:{1}'.format( customer['companyName'], customer['companyId']) else: print 'No customers found' if __name__ == '__main__': main()
ID do parceiro
As chamadas de API geralmente precisam do seu ID de parceiro de revendedor como argumento. Para encontrar o ID do parceiro no portal de registro sem toque, siga as etapas abaixo:
- Abra o portal. Talvez seja necessário fazer login.
- Clique em Contas de serviço.
- Copie o número do ID do parceiro na linha Seu ID de revendedor.
Etapa 5: executar a amostra
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
Como imprimir respostas da API
Para facilitar a inspeção das respostas ao testar a API, formate os dados de resposta JSON. O snippet abaixo mostra como fazer isso no Python usando o módulo JSON:
from json import dumps
# ...
results = provisioning.partners().devices().claimAsync(partnerId=MY_PARTNER_ID,
body={'claims':new_claims}).execute()
# Print formatted JSON response
print dumps(results, indent=4, sort_keys=True)
Solução de problemas
Conte-nos o que deu errado usando o guia de início rápido, e nós trabalharemos para corrigi-lo. Para saber como o registro sem toque usa contas de serviço para autorizar chamadas de API, leia Autorização.