Python-Kurzanleitung für Kunden

Führen Sie die Schritte in dieser Kurzanleitung aus. In etwa 10 Minuten haben Sie eine einfache Python-Befehlszeile, die Anfragen an die Zero-Touch-Registrierungskunden-API sendet.

Voraussetzungen

Zum Ausführen dieser Kurzanleitung benötigen Sie Folgendes:

  • Ein Google-Konto, das Mitglied des Kontos für die Zero-Touch-Registrierung ist. Siehe Jetzt starten.
  • Python 3.0 oder höher
  • Das Paketverwaltungstool pip
  • Zugriff auf das Internet und einen Webbrowser.

Schritt 1: API für die Zero-Touch-Registrierung aktivieren

  1. Mit diesem Assistenten können Sie ein Projekt in der Google Developers Console erstellen oder auswählen und die API automatisch aktivieren. Klicken Sie auf Weiter und dann auf Anmeldedaten aufrufen.
  2. Klicken Sie unter „Anmeldedaten erstellen“ auf Abbrechen.
  3. Klicken Sie oben auf der Seite auf den Tab OAuth-Zustimmungsbildschirm. Wählen Sie eine E-Mail-Adresse aus, geben Sie einen Produktnamen ein, falls noch nicht geschehen, und klicken Sie auf die Schaltfläche Speichern.
  4. Wählen Sie den Tab Anmeldedaten aus. Klicken Sie auf die Schaltfläche Anmeldedaten erstellen und wählen Sie OAuth-Client-ID aus.
  5. Wählen Sie den Anwendungstyp Sonstiges aus, geben Sie den Namen „Kurzanleitung“ ein und klicken Sie auf die Schaltfläche Erstellen.
  6. Klicken Sie auf OK, um den Bereich OAuth-Client zu schließen.
  7. Klicken Sie auf JSON herunterladen.
  8. Verschieben Sie die Datei in Ihr Arbeitsverzeichnis und benennen Sie sie in client_secret.json um.

Schritt 2: Google-Clientbibliothek installieren

Führen Sie den folgenden Befehl aus, um die Bibliothek mit „pip“ zu installieren:

pip install --upgrade google-api-python-client oauth2client

Auf der Installationsseite der Bibliothek finden Sie verschiedene Installationsoptionen.

Schritt 3: Beispiel einrichten

Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen quickstart.py. Kopieren Sie den folgenden Code und speichern Sie die Datei.

#!/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 import tools
from oauth2client.client import flow_from_clientsecrets
from oauth2client.file import Storage

# A single auth scope is used for the zero-touch enrollment customer API.
SCOPES = ['https://www.googleapis.com/auth/androidworkzerotouchemm']
CLIENT_SECRET_FILE = 'client_secret.json'
USER_CREDENTIAL_FILE = 'user_credential.json'


def get_credential():
  """Creates a Credential object with the correct OAuth2 authorization.

  Ask the user to authorize the request using their Google Account in their
  browser. Because this method stores the cedential in the
  USER_CREDENTIAL_FILE, the user is typically only asked to the first time they
  run the script.

  Returns:
    Credentials, the user's credential.
  """
  flow = flow_from_clientsecrets(CLIENT_SECRET_FILE, SCOPES)
  storage = Storage(USER_CREDENTIAL_FILE)
  credential = storage.get()

  if not credential or credential.invalid:
    credential = tools.run_flow(flow, storage)  # skipping flags for brevity
  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()

Schritt 4: Beispiel ausführen

Verwenden Sie die Hilfe Ihres Betriebssystems zum Ausführen des Skripts in der Datei. Führen Sie auf UNIX- und Mac-Computern den folgenden Befehl in Ihrem Terminal aus:

python quickstart.py

Wenn Sie die App zum ersten Mal ausführen, müssen Sie den Zugriff autorisieren:

  1. Die App versucht, einen neuen Tab in Ihrem Standardbrowser zu öffnen. Kopieren Sie in diesem Fall die URL aus der Console und öffnen Sie sie in Ihrem Browser. Wenn Sie noch nicht in Ihrem Google-Konto angemeldet sind, werden Sie aufgefordert, sich anzumelden. Wenn du in mehreren Google-Konten angemeldet bist, wirst du auf der Seite aufgefordert, ein Konto für die Autorisierung auszuwählen.
  2. Klicken Sie auf Akzeptieren.
  3. Schließen Sie den Browsertab, damit die App weiter ausgeführt wird.

Hinweise

  • Da die Google API-Clientbibliothek Autorisierungsdaten im Dateisystem speichert, werden Sie bei nachfolgenden Einführungen nicht zur Autorisierung aufgefordert.
  • Wenn Sie die Autorisierungsdaten der Anwendung zurücksetzen möchten, löschen Sie die Datei user_credential.json und führen Sie die Anwendung noch einmal aus.
  • Der Autorisierungsvorgang in dieser Kurzanleitung ist ideal für eine Befehlszeilenanwendung. Informationen zum Hinzufügen einer Autorisierung zu einer Webanwendung finden Sie unter OAuth 2.0 für Webserveranwendungen verwenden.

Fehlerbehebung

Hier sind einige häufige Punkte, die Sie überprüfen sollten. Teilen Sie uns mit, was bei der Kurzanleitung aufgetreten ist. Wir kümmern uns dann darum.

  • Prüfen Sie, ob Sie API-Aufrufe mit dem Google-Konto autorisieren, das auch für Ihr Zero-Touch-Registrierungskundenkonto enthalten ist. Versuchen Sie, Ihren Zugriff auf das Portal für die Zero-Touch-Registrierung mit demselben Google-Konto anzumelden.
  • Prüfen Sie, ob das Konto im Portal die neuesten Nutzungsbedingungen akzeptiert hat. Weitere Informationen finden Sie unter Kundenkonten.

Weitere Informationen