Guida rapida di .NET per i clienti

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

  1. 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. .
  2. Imposta A quali dati accederai? su Dati dell'applicazione.
  3. Fai clic su Avanti. Viene richiesto di creare un servizio .
  4. Assegna un nome descrittivo a Nome account di servizio.
  5. Prendi nota dell'ID account di servizio (assomiglia a un indirizzo email) perché in un secondo momento.
  6. Imposta Ruolo su Account di servizio > Utente account di servizio.
  7. Fai clic su Fine per completare la creazione dell'account di servizio.
  8. Fai clic sull'indirizzo email dell'account di servizio che hai creato.
  9. Fai clic su **Chiavi**.
  10. Fai clic su **Aggiungi chiave**, quindi su **Crea nuova chiave**.
  11. Per **Tipo di chiave**, seleziona **JSON**.
  12. Fai clic su Crea per scaricare la chiave privata sul tuo computer.
  13. Fai clic su **Chiudi**.
  14. Sposta il file nella directory di lavoro e rinominalo service_account_key.json.

Passaggio 2: prepara il progetto

  1. Crea un nuovo progetto dell'applicazione console .NET Core C# in Visual Studio.
  2. 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

  1. Trascina il file service_account_key.json che hai scaricato quando hai creato il di servizio in Esplora soluzioni di Visual Studio.
  2. Seleziona service_account_key.json, poi vai alla finestra Proprietà e imposta il campo Copia nella directory di output su Copia sempre.
  3. 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.

Scopri di più