Folgen Sie der Anleitung in dieser Kurzanleitung. In etwa zehn Minuten haben Sie eine einfache .NET C#-Konsolenanwendung, die Anfragen über ein Dienstkonto an die Zero-Touch-Registrierungs-API sendet.
Voraussetzungen
Zum Ausführen dieser Kurzanleitung benötigen Sie Folgendes:
- Ein Dienstkonto, das mit Ihrem Zero-Touch-Registrierungskundenkonto verknüpft ist. Siehe Jetzt starten.
- Visual Studio 2013 oder höher
- Zugriff auf das Internet und einen Webbrowser.
Schritt 1: API für die Zero-Touch-Registrierung aktivieren
- 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.
- Setzen Sie Auf welche Daten werden Sie zugreifen? auf Anwendungsdaten.
- Klicken Sie auf Weiter. Sie werden aufgefordert, ein Dienstkonto zu erstellen.
- Geben Sie einen aussagekräftigen Namen für Dienstkontoname ein.
- Notieren Sie sich die Dienstkonto-ID (diese sieht wie eine E-Mail-Adresse aus), da Sie sie später verwenden.
- Setzen 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 und 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: Projekt vorbereiten
- Erstellen Sie in Visual Studio ein neues .NET Core-C#-Projekt für die Console-Anwendung.
- Öffnen Sie den Paketmanager, wählen Sie die Paketquelle nuget.org aus und fügen Sie die folgenden Pakete hinzu:
Google.Apis.AndroidProvisioningPartner.v1
Google.Apis.Auth
Weitere Informationen finden Sie im Microsoft-Dokument Paket installieren und verwenden.
Schritt 3: Beispiel einrichten
- Ziehen Sie die
service_account_key.json
, die Sie beim Erstellen Ihres Dienstkontos heruntergeladen haben, in den Visual Studio-Lösungs-Explorer. - Wählen Sie
service_account_key.json
aus, rufen Sie das Fenster „Eigenschaften“ auf und setzen Sie das Feld In Ausgabeverzeichnis kopieren auf Immer kopieren. - Ersetzen Sie den Inhalt von
Program.cs
durch den folgenden Code:
using Google.Apis.AndroidProvisioningPartner.v1; using Google.Apis.AndroidProvisioningPartner.v1.Data; using Google.Apis.Auth.OAuth2; using Google.Apis.Services; using System; using System.Collections.Generic; using System.IO; using System.Threading; namespace ZeroTouchCustomerQuickstart { class Program { // A single scope is used for the zero-touch enrollment customer API. static readonly string[] Scopes = { "https://www.googleapis.com/auth/androidworkzerotouchemm" }; static string ApplicationName = "Zero-touch Enrollment .NET Quickstart"; static void Main(string[] args) { GoogleCredential credential; // Authenticate using the service account key credential = GoogleCredential.FromFile("service_account_key.json") .CreateScoped(Scopes); // Create a zero-touch enrollment API service endpoint. var service = new AndroidProvisioningPartnerService(new BaseClientService.Initializer { HttpClientInitializer = credential, ApplicationName = ApplicationName }); // Get the customer's account. Because a customer might have more // than one, limit the results to the first account found. CustomersResource.ListRequest accountRequest = service.Customers.List(); accountRequest.PageSize = 1; CustomerListCustomersResponse accountResponse = accountRequest.Execute(); if (accountResponse.Customers.Count == 0) { // No accounts found for the user. Confirm the Google Account // that authorizes the request can access the zero-touch portal. Console.WriteLine("No zero-touch enrollment account found."); Environment.Exit(-1); } Company customer = accountResponse.Customers[0]; var customerAccount = String.Format("customers/{0}", customer.CompanyId); // Send an API request to list all the DPCs available. CustomersResource.DpcsResource.ListRequest request = service.Customers.Dpcs. List(customerAccount); CustomerListDpcsResponse response = request.Execute(); // Print out the details of each DPC. IList<Dpc> dpcs = response.Dpcs; foreach (Dpc dpcApp in dpcs) { Console.WriteLine("Name:{0} APK:{1}", dpcApp.DpcName, dpcApp.PackageName); } } } }
Schritt 4: Beispiel ausführen
Klicken Sie zum Erstellen und Ausführen des Beispiels in der Visual Studio-Symbolleiste auf
Start.Hinweise
- Die Datei „
service_account_key.json
“ sollte nicht für andere Personen freigegeben werden. Achten Sie darauf, sie nicht in Quellcode-Repositories aufzunehmen. Hier finden Sie weitere Tipps zum Umgang mit Dienstkonto-Secrets.