Выполните действия, описанные в этом кратком руководстве, и примерно через 10 минут у вас будет простое консольное приложение .NET C#, которое отправляет запросы к клиентскому API автоматической регистрации с использованием учетной записи службы.
Предварительные условия
Чтобы запустить это краткое руководство, вам необходимо:
- Учетная запись службы, связанная с вашей учетной записью клиента с автоматической регистрацией. См . Начало работы .
- Visual Studio 2013 или более поздней версии.
- Доступ к Интернету и веб-браузеру.
Шаг 1. Включите API автоматической регистрации.
- Используйте этот мастер , чтобы создать или выбрать проект в консоли разработчиков Google и автоматически включить API. Нажмите «Продолжить» , затем «Перейти к учетным данным» .
- Установите , к каким данным вы будете иметь доступ? к данным приложения .
- Нажмите Далее . Вам будет предложено создать учетную запись службы.
- Дайте описательное имя для имени учетной записи службы .
- Запишите идентификатор учетной записи службы (он выглядит как адрес электронной почты), поскольку вы будете использовать его позже.
- Установите роль «Учетные записи служб» > «Пользователь учетной записи службы» .
- Нажмите «Готово» , чтобы завершить создание учетной записи службы.
- Щелкните адрес электронной почты созданной вами учетной записи службы.
- Нажмите **Ключи**.
- Нажмите **Добавить ключ**, затем нажмите **Создать новый ключ**.
- В поле **Тип ключа** выберите **JSON**.
- Нажмите «Создать» , и закрытый ключ загрузится на ваш компьютер.
- Нажмите **Закрыть**.
- Переместите файл в свой рабочий каталог и переименуйте его в
service_account_key.json
.
Шаг 2: Подготовьте проект
- Создайте новый проект консольного приложения .NET Core C# в Visual Studio.
- Откройте диспетчер пакетов, выберите источник пакета nuget.org и добавьте следующие пакеты:
-
Google.Apis.AndroidProvisioningPartner.v1
-
Google.Apis.Auth
-
Чтобы узнать больше, прочтите документ Microsoft «Установка и использование пакета» .
Шаг 3. Настройте образец
- Перетащите файл
service_account_key.json
, который вы скачали при создании учетной записи службы, в обозреватель решений Visual Studio. - Выберите
service_account_key.json
, затем перейдите в окно «Свойства» и установите для поля «Копировать в выходной каталог» значение «Всегда копировать» . - Замените содержимое
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.Примечания
- Не делитесь файлом
service_account_key.json
с кем-либо. Будьте осторожны и не включайте его в репозитории исходного кода. Дополнительные советы по работе с секретами сервисных учетных записей можно прочитать .