Folgen Sie der Anleitung in dieser Kurzanleitung. Nach etwa 10 Minuten haben Sie eine einfache .NET-C#-Konsolen-App, die über ein Dienstkonto Anfragen an die Zero-Touch-Registrierungs-Kunden-API sendet.
Vorbereitung
Zum Ausführen dieser Kurzanleitung benötigen Sie Folgendes:
- Ein Dienstkonto, das mit Ihrem Kundenkonto für die Zero-Touch-Registrierung verknüpft ist. Weitere Informationen finden Sie unter Einstieg.
- Visual Studio 2013 oder höher
- Zugriff auf das Internet und einen Webbrowser.
Schritt 1: Zero-Touch-Registrierungs-API 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 für Rolle die Option Dienstkonten > Dienstkontonutzer fest.
- 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 als **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: Projekt vorbereiten
- Erstellen Sie in Visual Studio ein neues .NET Core-C#-Projekt zur Console-Anwendung.
- Öffnen Sie den Paketmanager, wählen Sie die Paketquelle nuget.org aus und fügen Sie
folgende Pakete:
Google.Apis.AndroidProvisioningPartner.v1
Google.Apis.Auth
Weitere Informationen finden Sie im Microsoft-Dokument Installation und Verwendung eines Paket.
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 und wechseln Sie dann zum Fenster „Properties“ (Eigenschaften). Setzen Sie das Feld In Ausgabeverzeichnis kopieren auf Immer kopieren. - Ersetzen Sie den Inhalt von
Program.cs
durch 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
- Geben Sie die Datei
service_account_key.json
nicht an andere weiter. Vorsicht und nicht in Quellcode-Repositories. Weitere Tipps und Tricks Umgang mit Dienstkonto-Secrets.