Guida rapida di .NET per i rivenditori

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 per i rivenditori per la registrazione zero-touch.

Prerequisiti

Per eseguire questa guida rapida, devi disporre di:

  • Un Account Google che fa parte del tuo account rivenditore per la registrazione zero-touch. Se non hai ancora completato l'onboarding, segui i passaggi descritti nella sezione Inizia della guida al portale per i rivenditori.
  • 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. Dovresti visualizzare una richiesta di creazione di un account di servizio.
  4. Assegna un nome descrittivo a Nome account di servizio.
  5. Prendi nota dell'ID account di servizio (che ha l'aspetto di un indirizzo email) perché lo utilizzerai in seguito.
  6. Imposta il 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.
  1. Apri il portale per la registrazione zero-touch. Potresti dover eseguire l'accesso.
  2. Fai clic su Account di servizio.
  3. Fai clic su Collega account di servizio.
  4. Imposta Indirizzo email sull'indirizzo dell'account di servizio che hai creato.
  5. Fai clic su Collega account di servizio per utilizzare l'account di servizio con il tuo account di registrazione zero-touch.

Passaggio 3: 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 4: configura il sample

  1. Trascina service_account_key.json (scaricato nel passaggio 1) 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.
  4. Inserisci il tuo ID rivenditore partner come valore per PartnerId (prima riga dell'app).
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;

namespace ZeroTouchResellerQuickstart
{
    class Program
    {
        // TODO: replace this with your partner reseller ID.
        static long PartnerId = 11036885;

        // Use a single scope for the all methods in the reseller API.
        static readonly string[] Scopes =
        { "https://www.googleapis.com/auth/androidworkprovisioning" };
        static string ApplicationName = "Zero-touch Reseller .NET Quickstart";

        static void Main(string[] args)
        {
            // Create a credential to authorize API requests using a service account key.
            // The service account must be linked using the zero-touch portal.
            ServiceAccountCredential credential;
            using (var stream =
                new FileStream("service_account_key.json", FileMode.Open, FileAccess.Read))
            {
                credential = GoogleCredential.FromStream(stream)
                                     .CreateScoped(Scopes)
                                     .UnderlyingCredential as ServiceAccountCredential;
            }

            // Create a zero-touch enrollment API service endpoint.
            var service = new AndroidProvisioningPartnerService(new BaseClientService.Initializer
            {
                HttpClientInitializer = credential,
                ApplicationName = ApplicationName
            });

            // Send an API request to list all our customers.
            PartnersResource.CustomersResource.ListRequest request =
                service.Partners.Customers.List(PartnerId);
            ListCustomersResponse response = request.Execute();

            // Print out the details of each customer.
            IList<Company> customers = response.Customers;
            if (customers != null)
            {
                foreach (Company customer in customers)
                {
                    Console.WriteLine("Name:{0}  ID:{1}",
                                      customer.CompanyName,
                                      customer.CompanyId);
                }
            }
            else
            {
                Console.WriteLine("No customers found");
            }
        }
    }
}

ID partner

In genere, per le chiamate API è necessario l'ID rivenditore partner come argomento. Per trovare il tuo ID partner dal portale della registrazione zero-touch, segui questi passaggi:

  1. Apri il portale. Potresti dover eseguire l'accesso.
  2. Fai clic su Account di servizio.
  3. Copia il tuo ID partner dalla riga Il tuo ID rivenditore.

Passaggio 5: esegui l'esempio

Per compilare ed eseguire il sample, fai clic su Avvia nella barra degli strumenti di Visual Studio.

Risoluzione dei problemi

Spiegaci cosa non è andato a buon fine con la guida introduttiva e cercheremo di risolvere il problema. Per scoprire in che modo la funzionalità zero-touch utilizza gli account di servizio per autorizzare le chiamate API, consulta Autorizzazione.

Scopri di più