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

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

Предварительные условия

Чтобы запустить это краткое руководство, вам понадобится:

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

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

  1. Используйте этот мастер , чтобы создать или выбрать проект в консоли разработчиков Google и автоматически включить 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. Скопируйте свой идентификационный номер партнера из строки «Идентификатор реселлера» .

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

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

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

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

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