Sigue los pasos de esta guía de inicio rápido y, en unos 10 minutos, tendrás una aplicación de línea de comandos de Python simple que realiza solicitudes a la API de distribuidor de inscripción automática.
Requisitos previos
Para ejecutar esta guía de inicio rápido, necesitarás lo siguiente:
- Una Cuenta de Google que sea miembro de tu cuenta de distribuidor de inscripción automática. Si aún no te inscribiste, sigue los pasos que se indican en Comenzar en la Guía del portal de distribuidores.
- Python 2.6 o superior
- La herramienta de administración de paquetes pip.
- Acceso a Internet y un navegador web
Paso 1: Activa la API de inscripción automática
- Usa este asistente para crear o seleccionar un proyecto en Google Developers Console y activar la API automáticamente. Haz clic en Continuar y, luego, en Ir a Credenciales.
- Configure ¿A qué datos accederá? en Datos de la aplicación.
- Haz clic en Siguiente. Se te solicitará que crees una cuenta de servicio.
- Proporciona un nombre descriptivo para el Nombre de la cuenta de servicio.
- Ten en cuenta el ID de la cuenta de servicio (parece una dirección de correo electrónico) porque lo usarás más tarde.
- Configura la Función como Cuentas de servicio > Usuario de cuentas de servicio.
- Haz clic en Listo para terminar de crear la cuenta de servicio.
- Haz clic en la dirección de correo electrónico de la cuenta de servicio que creaste.
- Haz clic en **Keys**.
- Haz clic en **Agregar clave** y luego en **Crear clave nueva**.
- En **Tipo de clave**, selecciona **JSON**.
- Haga clic en Crear y la clave privada se descargará en su computadora.
- Haz clic en **Close**.
- Mueve el archivo a tu directorio de trabajo y cámbiale el nombre a
service_account_key.json
.
Paso 2: Vincula la cuenta de servicio
- Abra el portal de inscripción automática. Es posible que debas acceder.
- Haz clic en Cuentas de servicio.
- Haz clic en Vincular cuenta de servicio.
- Configura la opción Dirección de correo electrónico como la dirección de la cuenta de servicio que creaste.
- Haz clic en Vincular cuenta de servicio para usarla con tu cuenta de inscripción automática.
Paso 3: Instala la biblioteca cliente de Google
Ejecuta el siguiente comando para instalar la biblioteca con pip:
pip install --upgrade google-api-python-client
Consulta la página de instalación de la biblioteca para ver las diferentes opciones de instalación.
Paso 4: Configura la muestra
Crea un archivo llamado quickstart.py
en tu directorio de trabajo. Copia el siguiente código y guarda el archivo. Inserta tu propio ID de socio de distribuidor como el valor de PARTNER_ID
(la primera línea de la app después de las importaciones).
#!/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 del socio
Las llamadas a la API normalmente necesitan tu ID de socio distribuidor como argumento. Para encontrar tu ID de socio en el portal de inscripción automática, sigue estos pasos:
- Abre el portal. Es posible que debas acceder.
- Haz clic en Cuentas de servicio .
- Copie su número de ID de socio desde la línea Su ID de distribuidor.
Paso 5: Ejecuta la muestra
Usa la ayuda de tu sistema operativo para ejecutar la secuencia de comandos en el archivo. En computadoras UNIX y Mac, ejecuta el siguiente comando en tu terminal:
python quickstart.py
Imprimir respuestas de la API
Para que sea más fácil inspeccionar las respuestas cuando pruebes la API, da formato a los datos de respuesta JSON. En el siguiente fragmento, se muestra cómo hacer esto en Python con el 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)
Solución de problemas
Cuéntanos cuál fue el problema con la guía de inicio rápido, y trabajaremos para solucionarlo. Para saber cómo la inscripción automática usa cuentas de servicio a fin de autorizar llamadas a la API, lee Autorización.