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

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

Предпосылки

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

  • Учетная запись службы, связанная с вашей учетной записью клиента для автоматической регистрации. См. Начало работы .
  • 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 .

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

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

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

Шаг 3: Настройте образец

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

        }
    }
}

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

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

Примечания

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