Befolgen Sie die Schritte in dieser Kurzanleitung. In etwa 10 Minuten eine einfache Python-Befehlszeilenanwendung, die Anfragen an die Zero-Touch- Registration Reseller API.
Vorbereitung
Zum Ausführen dieser Kurzanleitung benötigen Sie Folgendes:
- Ein Google-Konto, das zu Ihrem Reseller für die Zero-Touch-Registrierung gehört Konto. Wenn Sie die Einrichtung noch nicht vorgenommen haben, folgen Sie den Schritten unter Jetzt starten in im Leitfaden für das Reseller-Portal.
- Python 2.6 oder höher
- Die pip-Paketverwaltung .
- Zugriff auf das Internet und einen Webbrowser.
Schritt 1: API für die Zero-Touch-Registrierung aktivieren
- Verwenden Sie diese , um ein Projekt in der Google Developers Console zu erstellen oder auszuwählen. die API automatisch aktivieren. Klicken Sie auf Weiter und dann auf Zu den Anmeldedaten.
- Setzen Sie Auf welche Daten werden Sie zugreifen? auf Anwendungsdaten.
- Klicken Sie auf Weiter. Sie sollten aufgefordert werden, einen Dienst zu erstellen Konto.
- Geben Sie für Name des Dienstkontos einen aussagekräftigen Namen ein.
- Notieren Sie sich die Dienstkonto-ID (sieht aus wie eine E-Mail-Adresse), da Sie später verwenden können.
- Legen Sie die Rolle auf Dienstkonten > Dienstkontonutzer.
- Klicken Sie auf Fertig, um das Erstellen des Dienstkontos abzuschließen.
- Klicken Sie auf die E-Mail-Adresse des von Ihnen erstellten Dienstkontos.
- Klicken Sie auf **Schlüssel**.
- Klicken Sie auf **Schlüssel hinzufügen** und dann auf **Neuen Schlüssel erstellen**.
- Wählen Sie für **Schlüsseltyp** die Option **JSON** aus.
- Klicken Sie auf Erstellen. Der private Schlüssel wird auf Ihren Computer heruntergeladen.
- Klicken Sie auf **Schließen**.
- Verschieben Sie die Datei in Ihr Arbeitsverzeichnis und benennen Sie sie in
service_account_key.json
um.
Schritt 2: Dienstkonto verknüpfen
- Öffnen Sie das Portal für die Zero-Touch-Registrierung. Eventuell musst du dich anmelden.
- Klicken Sie auf Service Konten.
- Klicken Sie auf Dienstkonto verknüpfen.
- Geben Sie unter E-Mail-Adresse die Adresse des von Ihnen erstellten Dienstkontos ein.
- Klicken Sie auf Dienstkonto verknüpfen, um das Dienstkonto mit Ihrer Zero-Touch-Registrierung zu verwenden. Registrierungskonto.
Schritt 3: Google-Clientbibliothek installieren
Führen Sie den folgenden Befehl aus, um die Bibliothek mit pip zu installieren:
pip install --upgrade google-api-python-client
Siehe Installation der Bibliothek finden Sie auf der Seite Optionen.
Schritt 4: Beispiel einrichten
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen quickstart.py
. Kopieren Sie im
folgenden Code ausführen und die Datei speichern. Fügen Sie Ihre eigene Reseller-Partner-ID als Wert für PARTNER_ID
ein (erste Zeile der App nach den Importen).
#!/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()
Partner-ID
Für API-Aufrufe ist in der Regel Ihre Reseller-Partner-ID als Argument erforderlich. So finden Sie Ihr Partner-ID aus dem Portal für die Zero-Touch-Registrierung erhalten Sie folgendermaßen:
- Öffnen Sie das Portal. Eventuell musst du dich anmelden.
- Klicken Sie auf Service Konten.
- Kopieren Sie Ihre Partner-ID aus der Zeile Meine Reseller-ID.
Schritt 5: Beispiel ausführen
Führen Sie das Skript in der Datei mithilfe der Hilfe Ihres Betriebssystems aus. Unter UNIX und Mac , führen Sie den folgenden Befehl in Ihrem Terminal aus:
python quickstart.py
API-Antworten drucken
Um die Antworten beim Testen der API leichter prüfen zu können, formatieren Sie den JSON-Code Antwortdaten. Das folgende Snippet zeigt, wie Sie dies in Python mithilfe der Methode JSON-Modul:
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)
Fehlerbehebung
Teilen Sie uns mit, was bei der Kurzanleitung schiefgelaufen ist. Wir werden dann daran arbeiten, und das Problem zu beheben. Weitere Informationen dazu, wie Zero-Touch Dienstkonten zum Autorisieren von API-Aufrufen verwendet, finden Sie unter Autorisierung: