Segui i passaggi descritti in questa guida rapida e in circa 10 minuti avrai un'app da riga di comando Python semplice che invia richieste all'API per i rivenditori di registrazione zero-touch.
Prerequisiti
Per eseguire questa guida rapida, ti serviranno:
- Un Account Google, che sia un membro del tuo rivenditore per la registrazione zero-touch . Se non hai ancora effettuato l'onboarding, segui i passaggi descritti in Inizia in la guida del Portale rivenditori.
- Python 2.6 o versioni successive.
- La gestione dei pacchetti pip lo strumento a riga di comando gcloud.
- Accesso a internet e a un browser web.
Passaggio 1: attiva l'API per la registrazione zero-touch
- Usa questo guidata per creare o selezionare un progetto in Google Developers Console e attivare automaticamente l'API. Fai clic su Continua, quindi su Vai alle credenziali.
- Imposta A quali dati accederai? su Dati dell'applicazione.
- Fai clic su Avanti. Viene richiesto di creare un servizio .
- Assegna un nome descrittivo a Nome account di servizio.
- Prendi nota dell'ID account di servizio (assomiglia a un indirizzo email) perché in un secondo momento.
- Imposta Ruolo su Account di servizio > Utente account di servizio.
- Fai clic su Fine per completare la creazione dell'account di servizio.
- Fai clic sull'indirizzo email dell'account di servizio che hai creato.
- Fai clic su **Chiavi**.
- Fai clic su **Aggiungi chiave** e poi su **Crea nuova chiave**.
- Per **Tipo di chiave**, seleziona **JSON**.
- Fai clic su Crea per scaricare la chiave privata sul tuo computer.
- Fai clic su **Chiudi**.
- Sposta il file nella directory di lavoro e rinominalo
service_account_key.json
.
Passaggio 2: collega l'account di servizio
- Apri il portale per la registrazione zero-touch. Potresti dover eseguire l'accesso.
- Fai clic su Servizio Google Cloud.
- Fai clic su Collega account di servizio.
- Imposta Indirizzo email sull'indirizzo dell'account di servizio che hai creato.
- Fai clic su Collega account di servizio per usare l'account di servizio con la registrazione zero-touch. dell'account di registrazione.
Passaggio 3: installa la libreria client di Google
Esegui questo comando per installare la libreria utilizzando pip:
pip install --upgrade google-api-python-client
Per le diverse opzioni di installazione, consulta la pagina di installazione della libreria.
Passaggio 4: configura l'anteprima
Crea un file denominato quickstart.py
nella directory di lavoro. Copia nel
seguire il codice e salvare il file. Inserisci il tuo partner rivenditore
ID come valore per PARTNER_ID
(la prima riga dell'app dopo il
.
#!/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 partner
In genere, per le chiamate API è necessario l'ID rivenditore partner come argomento. Per trovare ID partner dal portale della registrazione zero-touch, segui questi passaggi:
- Apri il portale. Potresti dover eseguire l'accesso.
- Fai clic su Servizio Google Cloud.
- Copia il tuo ID partner dalla riga Il tuo ID rivenditore.
Passaggio 5: esegui l'esempio
Utilizza la guida del sistema operativo per eseguire lo script nel file. Su UNIX e Mac esegui il comando seguente nel tuo terminale:
python quickstart.py
Stampa delle risposte dell'API
Per semplificare l'ispezione delle risposte quando provi l'API, formatta il file JSON i dati di risposta. Lo snippet di seguito mostra come eseguire questa operazione in Python utilizzando il modulo 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)
Risoluzione dei problemi
Spiegaci cosa non ha funzionato con la guida rapida e ci impegneremo per aiutarti. correggerlo. Per scoprire in che modo la funzionalità zero-touch utilizza gli account di servizio per autorizzare le chiamate API, consulta Autorizzazione.