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

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 realice solicitudes a la API del revendedor de inscripción sin contacto.

Requisitos previos

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

  • Una Cuenta de Google que sea miembro de tu cuenta de revendedor de inscripción automática Si aún no te integraste, sigue los pasos que se indican en Comenzar en la guía del portal para revendedores.
  • 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

  1. Usa este asistente para crear o seleccionar un proyecto en Google Play Console y activar automáticamente la API. Haz clic en Continuar y, luego, en Ir a Credenciales.
  2. Establece ¿A qué datos accederás? en Datos de la aplicación.
  3. Haz clic en Siguiente. Se te solicitará que crees una cuenta de servicio.
  4. Asigna un nombre descriptivo al Nombre de la cuenta de servicio.
  5. Anota el ID de la cuenta de servicio (se parece a una dirección de correo electrónico), ya que lo necesitarás más adelante.
  6. Establece Rol en Cuentas de servicio > Usuario de cuenta 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 **Claves**.
  10. Haz clic en **Agregar clave** y, luego, en **Crear clave nueva**.
  11. En **Tipo de clave**, selecciona **JSON**.
  12. Haz clic en Crear y la clave privada se descargará en tu 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.
  1. Abre el portal de inscripción automática. Es posible que debas acceder.
  2. Haz clic en Cuentas de servicio.
  3. Haz clic en Vincular cuenta de servicio.
  4. Establece Dirección de correo electrónico en la dirección de la cuenta de servicio que creaste.
  5. Haz clic en Vincular cuenta de servicio para usar la cuenta de servicio con tu cuenta de inscripción sin intervención.

Paso 3: Prepara el proyecto

  1. Crea un nuevo proyecto de aplicación de consola de C# para .NET Core en Visual Studio.
  2. 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 4: Configura la muestra

  1. Arrastra service_account_key.json (que descargaste en el paso 1) al Solution Explorer de Visual Studio.
  2. Selecciona service_account_key.json y, luego, ve a la ventana Properties y configura el campo Copy to output directory en Always copy.
  3. Reemplaza el contenido de Program.cs con el siguiente código.
  4. Inserta tu propio ID de socio de revendedor como el valor de PartnerId (la primera línea de la 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 de socio

Por lo general, las llamadas a la API necesitan su ID de socio revendedor como argumento. Para encontrar tu ID de socio en el portal de inscripción sin intervención manual, sigue estos pasos:

  1. Abre el portal. Es posible que debas acceder.
  2. Haz clic en Cuentas de servicio.
  3. Copia el número de ID de socio de la línea Tu ID de revendedor.

Paso 5: Ejecuta la muestra

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

Solución de problemas

Cuéntanos qué salió mal con la guía de inicio rápido y trabajaremos para solucionarlo. Para obtener información sobre cómo el modo sin intervención usa cuentas de servicio para autorizar llamadas a la API, lee Autorización.

Más información