Python-Kurzanleitung für Reseller

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

  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. Setzen Sie Auf welche Daten werden Sie zugreifen? auf Anwendungsdaten.
  3. Klicken Sie auf Weiter. Sie sollten aufgefordert werden, einen Dienst zu erstellen Konto.
  4. Geben Sie für Name des Dienstkontos einen aussagekräftigen Namen ein.
  5. Notieren Sie sich die Dienstkonto-ID (sieht aus wie eine E-Mail-Adresse), da Sie später verwenden können.
  6. Legen Sie die Rolle auf Dienstkonten > Dienstkontonutzer.
  7. Klicken Sie auf Fertig, um das Erstellen des Dienstkontos abzuschließen.
  8. Klicken Sie auf die E-Mail-Adresse des von Ihnen erstellten Dienstkontos.
  9. Klicken Sie auf **Schlüssel**.
  10. Klicken Sie auf **Schlüssel hinzufügen** und dann auf **Neuen Schlüssel erstellen**.
  11. Wählen Sie für **Schlüsseltyp** die Option **JSON** aus.
  12. Klicken Sie auf Erstellen. Der private Schlüssel wird auf Ihren Computer heruntergeladen.
  13. Klicken Sie auf **Schließen**.
  14. Verschieben Sie die Datei in Ihr Arbeitsverzeichnis und benennen Sie sie in service_account_key.json um.
  1. Öffnen Sie das Portal für die Zero-Touch-Registrierung. Eventuell musst du dich anmelden.
  2. Klicken Sie auf Service Konten.
  3. Klicken Sie auf Dienstkonto verknüpfen.
  4. Geben Sie unter E-Mail-Adresse die Adresse des von Ihnen erstellten Dienstkontos ein.
  5. 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:

  1. Öffnen Sie das Portal. Eventuell musst du dich anmelden.
  2. Klicken Sie auf Service Konten.
  3. 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:

Weitere Informationen