Python-Kurzanleitung für Kunden

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

Vorbereitung

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

  • Ein Google-Konto, das zu Ihrem Kunden für die Zero-Touch-Registrierung gehört Konto. Weitere Informationen finden Sie unter Get
  • Python 3.0 oder höher.
  • Die pip-Paketverwaltung .
  • Zugriff auf das Internet und einen Webbrowser.

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

  1. 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.
  2. Klicken Sie unter „Anmeldedaten erstellen“ auf Abbrechen.
  3. Klicken Sie oben auf der Seite auf den Tab OAuth-Zustimmungsbildschirm. Wählen Sie ein E-Mail-Adresse, 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 und klicken Sie auf Anmeldedaten erstellen. und wählen Sie OAuth-Client-ID aus.
  5. Wählen Sie den Anwendungstyp Sonstige aus und geben Sie den Namen ein. „Schnellstart“ aus und klicken Sie auf das Symbol Erstellen Schaltfläche.
  6. Klicken Sie auf OK, um das Steuerfeld 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

Siehe Installation der Bibliothek finden Sie auf der Seite Optionen.

Schritt 3: 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.

#!/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

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

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. Wenn dies fehlschlägt, kopieren Sie die URL aus der und öffnen Sie sie in Ihrem Browser. Wenn Sie noch nicht in Ihrem Google-Konto angemeldet sind, aufgefordert, sich anzumelden. Wenn Sie in mehreren Google-Konten angemeldet sind, werden Sie auf der Seite aufgefordert, ein Konto für die Autorisierung.
  2. Klicken Sie auf Akzeptieren.
  3. Schließen Sie den Browsertab. Die App wird weiter ausgeführt.

Hinweise

  • Da die Google API-Clientbibliothek Autorisierungsdaten im Dateisystem speichert, werden nachfolgende keine Autorisierung erforderlich ist.
  • Um die Autorisierungsdaten der App zurückzusetzen, löschen Sie die user_credential.json-Datei und führen Sie die Anwendung noch einmal aus.
  • Der Autorisierungsvorgang in dieser Kurzanleitung ist ideal für eine Befehlszeilenanwendung. Weitere Informationen zum Hinzufügen Autorisierung einer Webanwendung, siehe OAuth 2.0 für Webserveranwendungen verwenden.

Fehlerbehebung

Hier sind einige Dinge, die Sie häufig überprüfen sollten. Teilen Sie uns mit, welches Problem bei der Kurzanleitung aufgetreten ist. Wir werden es dann beheben.

  • Prüfen Sie, ob Sie API-Aufrufe mit demselben Google-Konto autorisieren, das Mitglied Ihres Kundenkonto mit Zero-Touch-Registrierung. Versuchen Sie, sich über das Portal für die Zero-Touch-Registrierung über die Google-Konto, um Ihren Zugriff zu testen.
  • Bestätige, dass für das Konto die aktuellen Nutzungsbedingungen akzeptiert wurden. das Portal. Weitere Informationen finden Sie unter . Kundenkonten.

Weitere Informationen