Краткое руководство по .NET для реселлеров

Выполните действия, описанные в этом кратком руководстве, и примерно через 10 минут у вас будет простое консольное приложение .NET C#, которое отправляет запросы к API реселлера автоматической регистрации.

Предпосылки

Для запуска этого краткого руководства вам потребуется:

  • Учетная запись Google, которая является членом вашей учетной записи реселлера автоматической регистрации. Если вы еще не зарегистрировались, выполните действия, описанные в разделе Начало работы в руководстве по порталу торгового посредника .
  • Visual Studio 2013 или более поздней версии.
  • Доступ к Интернету и веб-браузер.

Шаг 1. Включите API автоматической регистрации

  1. Используйте этот мастер для создания или выбора проекта в Google Developers Console и автоматического включения API. Нажмите «Продолжить» , затем «Перейти к учетным данным» .
  2. Установить К каким данным вы будете обращаться? к данным приложения .
  3. Нажмите «Далее» . Вам будет предложено создать учетную запись службы.
  4. Дайте описательное имя для имени учетной записи службы .
  5. Обратите внимание на идентификатор учетной записи службы (он выглядит как адрес электронной почты), потому что вы будете использовать его позже.
  6. Установите для роли значение «Учетные записи служб» > «Пользователь учетной записи службы» .
  7. Нажмите «Готово» , чтобы завершить создание учетной записи службы.
  8. Щелкните адрес электронной почты созданной учетной записи службы.
  9. Нажмите **Ключи**.
  10. Нажмите **Добавить ключ**, затем нажмите **Создать новый ключ**.
  11. Для **Типа ключа** выберите **JSON**.
  12. Нажмите «Создать» , и закрытый ключ загрузится на ваш компьютер.
  13. Нажмите **Закрыть**.
  14. Переместите файл в свой рабочий каталог и переименуйте его service_account_key.json .
  1. Откройте портал автоматической регистрации. Возможно, вам потребуется войти в систему.
  2. Нажмите Сервисные учетные записи .
  3. Щелкните учетную запись службы связи .
  4. Установите адрес электронной почты на адрес созданной вами учетной записи службы.
  5. Щелкните Связать учетную запись службы , чтобы использовать учетную запись службы с учетной записью автоматической регистрации.

Шаг 3: Подготовьте проект

  1. Создайте новый проект консольного приложения .NET Core C# в Visual Studio.
  2. Откройте диспетчер пакетов, выберите источник пакета nuget.org и добавьте следующие пакеты:
    • Google.Apis.AndroidProvisioningPartner.v1
    • Google.Apis.Auth

Чтобы узнать больше, прочтите документ Microsoft «Установка и использование пакета» .

Шаг 4. Настройте образец

  1. Перетащите service_account_key.json (загруженный на шаге 1) в обозреватель решений Visual Studio.
  2. Выберите service_account_key.json , а затем перейдите в окно «Свойства» и установите для поля «Копировать в выходной каталог» значение « Всегда копировать» .
  3. Замените содержимое Program.cs следующим кодом.
  4. Вставьте свой собственный идентификатор партнера торгового посредника в качестве значения для PartnerId (первая строка приложения).
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");
            }
        }
    }
}

Идентификационный номер партнера

Для вызовов API обычно в качестве аргумента требуется ваш идентификатор партнера-посредника. Чтобы найти свой идентификатор партнера на портале автоматической регистрации, выполните следующие действия:

  1. Откройте портал . Возможно, вам потребуется войти в систему.
  2. Нажмите Сервисные учетные записи .
  3. Скопируйте свой идентификационный номер партнера из строки Your reseller ID .

Шаг 5. Запустите образец

Чтобы построить и запустить пример, щелкните Start на панели инструментов Visual Studio.

Поиск неисправностей

Сообщите нам, что пошло не так с кратким запуском, и мы постараемся это исправить. Чтобы узнать, как Zero-Touch использует учетные записи служб для авторизации вызовов API, прочитайте Авторизация .

Узнать больше