Sigue los pasos de esta guía de inicio rápido y, en unos 10 minutos, tendrás una app de consola simple de .NET C# que realiza solicitudes a la API de cliente de inscripción sin contacto 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 la cuenta de cliente de inscripción automática Consulta Obtener comenzar.
- Visual Studio 2013 o una versión posterior
- Acceso a Internet y un navegador web
Paso 1: Activa la API de inscripción sin intervención
- Usa este asistente para crear o seleccionar un proyecto en Google Play Console y activar automáticamente la API. Haga clic en Continuar y, luego, en Ir a Credenciales
- Configura ¿A qué datos accederás? en Datos de la aplicación.
- Haz clic en Siguiente. Se te pedirá que crees un servicio de servicio predeterminada.
- Asigna un nombre descriptivo para Nombre de la cuenta de servicio.
- Anota el ID de cuenta de servicio (parece una dirección de correo electrónico) porque usarla más tarde.
- Configura el Rol como Cuentas de servicio > Usuario de cuenta 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 **Claves**.
- Haz clic en **Agregar clave** y, luego, en **Crear clave nueva**.
- En **Key type**, selecciona **JSON**.
- Haz clic en Crear, y la clave privada se descargará en tu computadora.
- Haz clic en **Cerrar**.
- 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 proyecto nuevo de aplicación de la consola .NET Core C# en Visual Studio.
- Abre el Administrador de paquetes, selecciona la fuente de paquetes 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 tu cuenta de servicio al Solution Explorer de Visual Studio. - Selecciona
service_account_key.json
y, luego, ve a la ventana Properties Configura el campo Copy to output directory como Siempre copiar. - 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
Iniciar en la barra de herramientas de Visual Studio.Notas
- Evita compartir tu archivo
service_account_key.json
con nadie. Ten cuidado no incluirlo en los repositorios de código fuente. Puedes leer más sugerencias para controlar los secretos de la cuenta de servicio.