Guida rapida di .NET per i clienti

Segui i passaggi di questa guida rapida e in circa 10 minuti avrai una semplice app della console .NET C# che invia richieste alla registrazione zero-touch l'API del cliente utilizzando un account di servizio.

Prerequisiti

Per eseguire questa guida rapida, devi disporre di:

  • Un account di servizio collegato al tuo account 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 di registrazione zero-touch

  1. Utilizza questa procedura 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. In **Tipo di chiave**, seleziona **JSON**.
  12. Fai clic su Crea e la chiave privata viene scaricata sul 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 Console Application (Applicazione console) C# .NET Core in Visual Studio.
  2. Apri il gestore dei pacchetti, seleziona la sorgente 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 l'anteprima

  1. Trascina il file service_account_key.json scaricato durante la creazione dell'account 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 compilare ed eseguire il sample, fai clic su Avvia nella barra degli strumenti di Visual Studio.

Note

Scopri di più