Segui i passaggi descritti in questa guida rapida e in circa 10 minuti avrai una semplice app console .NET C# che invia richieste all'API cliente per la registrazione zero-touch utilizzando un account di servizio.
Prerequisiti
Per eseguire questa guida rapida, devi disporre di:
- Un account di servizio collegato al tuo cliente con registrazione zero-touch. . Consulta Iniziare.
- Visual Studio 2013 o versioni successive.
- Accesso a internet e a un browser web.
Passaggio 1: attiva l'API per la registrazione zero-touch
- Usa questo guidata per creare o selezionare un progetto in Google Developers Console e attivare automaticamente l'API. Fai clic su Continua, quindi su Vai alle credenziali. .
- Imposta A quali dati accederai? su Dati dell'applicazione.
- Fai clic su Avanti. Viene richiesto di creare un servizio .
- Assegna un nome descrittivo a Nome account di servizio.
- Prendi nota dell'ID account di servizio (assomiglia a un indirizzo email) perché in un secondo momento.
- Imposta Ruolo su Account di servizio > Utente account di servizio.
- Fai clic su Fine per completare la creazione dell'account di servizio.
- Fai clic sull'indirizzo email dell'account di servizio che hai creato.
- Fai clic su **Chiavi**.
- Fai clic su **Aggiungi chiave**, quindi su **Crea nuova chiave**.
- Per **Tipo di chiave**, seleziona **JSON**.
- Fai clic su Crea per scaricare la chiave privata sul tuo computer.
- Fai clic su **Chiudi**.
- Sposta il file nella directory di lavoro e rinominalo
service_account_key.json
.
Passaggio 2: prepara il progetto
- Crea un nuovo progetto dell'applicazione console .NET Core C# in Visual Studio.
- Apri Gestione pacchetti, seleziona l'origine del pacchetto nuget.org e aggiungi
i seguenti pacchetti:
Google.Apis.AndroidProvisioningPartner.v1
Google.Apis.Auth
Per saperne di più, leggi il documento Microsoft Installare e utilizzare un pacchetto.
Passaggio 3: configura il sample
- Trascina il file
service_account_key.json
che hai scaricato quando hai creato il di servizio in Esplora soluzioni di Visual Studio. - Seleziona
service_account_key.json
, poi vai alla finestra Proprietà e imposta il campo Copia nella directory di output su Copia sempre. - Sostituisci i contenuti di
Program.cs
con il seguente codice:
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); } } } }
Passaggio 4: esegui l'esempio
Per creare ed eseguire l'esempio, fai clic su
Avvia nella barra degli strumenti di Visual Studio.Note
- Evita di condividere il file
service_account_key.json
con nessuno. Fai attenzione a non includerlo nei repository di codice sorgente. Puoi trovare altri consigli su come gestire i secret dell'account di servizio.