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
- 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.
- Configura el campo ¿A qué datos accederás? como Datos de la aplicación.
- Haz clic en Siguiente. Se te solicitará que crees una cuenta de servicio.
- En Nombre de la cuenta de servicio, ingresa un nombre descriptivo.
- Ten en cuenta el ID de cuenta de servicio (parece una dirección de correo electrónico) porque lo usarás más tarde.
- Configura el Rol como Cuentas de servicio > Usuario de cuentas de servicio.
- Haz clic en Listo para terminar de crear la cuenta de servicio.
- Haz clic en la dirección de correo electrónico de la cuenta de servicio que creaste.
- Haz clic en **Keys**.
- Haz clic en **Agregar clave** y, luego, en **Crear clave**.
- En **Tipo de clave**, selecciona **JSON**.
- Haga clic en Crear para que la clave privada se descargue en su computadora.
- Haz clic en **Close**.
- Mueve el archivo a tu directorio de trabajo y cámbiale el nombre a
service_account_key.json
.
Paso 2: Prepara el proyecto
- Crea un nuevo proyecto de consola de aplicación .NET Core en C# en Visual Studio.
- 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
- Arrastra el
service_account_key.json
que descargaste cuando creaste la cuenta de servicio al Explorador de soluciones de Visual Studio. - 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. - 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.