Guía de inicio rápido de .NET para clientes

Sigue los pasos de esta guía de inicio rápido y, en unos 10 minutos, tendrás una app de consola de C# para .NET que realizará solicitudes a la API de cliente con inscripción automática mediante una cuenta de servicio.

Requisitos previos

Para ejecutar esta guía de inicio rápido, necesitas lo siguiente:

  • Una cuenta de servicio vinculada a tu cuenta de cliente de inscripción automática Consulta Cómo comenzar.
  • Visual Studio 2013 o versiones posteriores
  • Acceso a Internet y un navegador web

Paso 1: Activa la API de inscripción automática

  1. Usa este asistente para crear o seleccionar un proyecto en Google Developers Console y activar automáticamente la API. Haz clic en Continuar y, luego, en Ir a credenciales.
  2. Configura el campo ¿A qué datos accederás? como Datos de la aplicación.
  3. Haz clic en Siguiente. Se te solicitará que crees una cuenta de servicio.
  4. En Nombre de la cuenta de servicio, ingresa un nombre descriptivo.
  5. Ten en cuenta el ID de cuenta de servicio (parece una dirección de correo electrónico) porque lo usarás más tarde.
  6. Configura el Rol como Cuentas de servicio > Usuario de cuentas de servicio.
  7. Haz clic en Listo para terminar de crear la cuenta de servicio.
  8. Haz clic en la dirección de correo electrónico de la cuenta de servicio que creaste.
  9. Haz clic en **Keys**.
  10. Haz clic en **Agregar clave** y, luego, en **Crear clave**.
  11. En **Tipo de clave**, selecciona **JSON**.
  12. Haga clic en Crear para que la clave privada se descargue en su computadora.
  13. Haz clic en **Close**.
  14. Mueve el archivo a tu directorio de trabajo y cámbiale el nombre a service_account_key.json.

Paso 2: Prepara el proyecto

  1. Crea un nuevo proyecto de consola de aplicación .NET Core en C# en Visual Studio.
  2. Abre el Administrador de paquetes, selecciona la fuente del paquete nuget.org y agrega los siguientes paquetes:
    • Google.Apis.AndroidProvisioningPartner.v1
    • Google.Apis.Auth

Para obtener más información, lee el documento de Microsoft Cómo instalar y usar un paquete.

Paso 3: Configura la muestra

  1. Arrastra el service_account_key.json que descargaste cuando creaste la cuenta de servicio al Explorador de soluciones de Visual Studio.
  2. Selecciona service_account_key.json y, luego, ve a la ventana Propiedades y establece el campo Copiar en el directorio de salida en Copiar siempre.
  3. Reemplaza el contenido de Program.cs con el código que se muestra a continuación:
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);
            }

        }
    }
}

Paso 4: Ejecuta la muestra

Para compilar y ejecutar la muestra, haz clic en Start en la barra de herramientas de Visual Studio.

Notas

  • No compartas tu archivo service_account_key.json con nadie. Ten cuidado de no incluirlo en los repositorios del código fuente. Puedes leer más sugerencias para controlar secretos de cuentas de servicio.

Más información