Guida rapida .NET per i clienti

Segui i passaggi descritti in questa guida rapida e in circa 10 minuti avrai a disposizione una semplice app per la console .NET C# che invia richieste all'API zero-touch per la registrazione dei clienti utilizzando un account di servizio.

Prerequisiti

Per eseguire questa guida rapida, devi avere:

  • Un account di servizio collegato al tuo account cliente con registrazione zero-touch. Vedi la Guida introduttiva.
  • 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 e poi su Vai alle credenziali.
  2. Imposta A quali dati accederai? su Dati applicazione.
  3. Fai clic su Avanti. Ti verrà chiesto di creare un account di servizio.
  4. Assegna un nome descrittivo al nome dell'account di servizio.
  5. Prendi nota dell'ID account di servizio, che sembra un indirizzo email, perché lo utilizzerai più tardi.
  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 computer.
  13. Fai clic su **Chiudi**.
  14. Sposta il file nella tua directory di lavoro e rinominalo service_account_key.json.

Passaggio 2: prepara il progetto

  1. Crea un nuovo progetto Console Console .NET Core C# in Visual Studio.
  2. Apri il gestore di pacchetti, seleziona l'origine del pacchetto nuget.org e aggiungi i seguenti pacchetti:
    • Google.Apis.AndroidProvisioningPartner.v1
    • Google.Apis.Auth

Per scoprire di più, leggi il documento di Microsoft Installare e utilizzare un pacchetto.

Passaggio 3: configura l'esempio

  1. Trascina il service_account_key.json scaricato al momento della creazione del tuo account di servizio in Esplora soluzioni di Studio.
  2. Seleziona service_account_key.json, quindi 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

Scopri di più