Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Выполните действия, описанные в этом кратком руководстве, и примерно через 10 минут у вас будет простое приложение командной строки Java, которое отправляет запросы к API реселлера автоматической регистрации.
Предварительные условия
Чтобы запустить это краткое руководство, вам понадобится:
Учетная запись Google, являющаяся участником вашей учетной записи реселлера с автоматической регистрацией. Если вы еще не зарегистрировались, выполните действия, описанные в разделе «Начало работы»руководства по порталу реселлера .
Используйте этот мастер , чтобы создать или выбрать проект в консоли разработчиков Google и автоматически включить API. Нажмите «Продолжить» , затем «Перейти к учетным данным» .
Установите , к каким данным вы будете иметь доступ? к данным приложения .
Нажмите Далее . Вам будет предложено создать учетную запись службы.
Дайте описательное имя для имени учетной записи службы .
Запишите идентификатор учетной записи службы (он выглядит как адрес электронной почты), поскольку вы будете использовать его позже.
Установите роль«Учетные записи служб» > «Пользователь учетной записи службы» .
Нажмите «Готово» , чтобы завершить создание учетной записи службы.
Щелкните адрес электронной почты созданной вами учетной записи службы.
Нажмите **Ключи**.
Нажмите **Добавить ключ**, затем нажмите **Создать новый ключ**.
В поле **Тип ключа** выберите **JSON**.
Нажмите «Создать» , и закрытый ключ загрузится на ваш компьютер.
Нажмите **Закрыть**.
Переместите файл в свой рабочий каталог и переименуйте его в service_account_key.json .
Шаг 2. Привяжите сервисный аккаунт
Откройте портал автоматической регистрации. Возможно, вам придется войти в систему.
Нажмите settings_ethernetСервисные учетные записи .
Нажмите addучетную запись службы ссылок» .
Установите адрес электронной почты на адрес созданной вами учетной записи службы.
Нажмите «Связать учетную запись службы» , чтобы использовать учетную запись службы с учетной записью автоматической регистрации.
Шаг 3: Подготовьте проект
Выполните следующие шаги, чтобы настроить проект Gradle:
Выполните следующую команду, чтобы создать новый проект в рабочем каталоге:
Создайте файл с именем src/main/java/ResellerQuickstart.java , скопируйте следующий код и сохраните файл. Вставьте свой собственный идентификатор партнера-посредника в качестве значения PARTNER_ID (первая строка приложения).
importcom.google.api.client.auth.oauth2.Credential;importcom.google.api.client.googleapis.auth.oauth2.GoogleCredential;importcom.google.api.client.googleapis.javanet.GoogleNetHttpTransport;importcom.google.api.client.http.HttpTransport;importcom.google.api.client.json.JsonFactory;importcom.google.api.client.json.jackson2.JacksonFactory;importcom.google.api.services.androiddeviceprovisioning.v1.AndroidProvisioningPartner;importcom.google.api.services.androiddeviceprovisioning.v1.model.Company;importcom.google.api.services.androiddeviceprovisioning.v1.model.ListCustomersResponse;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.util.Arrays;importjava.util.List;/** * This class forms the quickstart introduction to the zero-touch enrollemnt * reseller API. */publicclassResellerQuickstart{// TODO: replace this with your partner reseller ID.privatestaticlongPARTNER_ID=11036885;// Use a single scope for the all methods in the reseller API.privatestaticfinalList<String>SCOPES=Arrays.asList("https://www.googleapis.com/auth/androidworkprovisioning");privatestaticfinalStringAPP_NAME="Zero-touch Reseller Java Quickstart";// Global shared instances.privatestaticfinalJsonFactoryJSON_FACTORY=JacksonFactory.getDefaultInstance();privatestaticHttpTransportHTTP_TRANSPORT;static{try{HTTP_TRANSPORT=GoogleNetHttpTransport.newTrustedTransport();}catch(Throwablet){t.printStackTrace();System.exit(1);}}/** * Creates a Credential object with the correct OAuth2 authorization * for the service account that calls the reseller API. The service * endpoint invokes this method when setting up a new service instance. * @return an authorized Credential object. * @throws IOException */publicstaticCredentialauthorize()throwsIOException{// Load the service account key from the JSON file.InputStreamin=ResellerQuickstart.class.getResourceAsStream("/service_account_key.json");// Create the credential scoped to the zero-touch enrollemnt// reseller APIs.GoogleCredentialcredential=GoogleCredential.fromStream(in).createScoped(SCOPES);returncredential;}/** * Builds and returns an authorized zero-touch enrollment API client service. * Use the service endpoint to call the API methods. * @return an authorized client service endpoint * @throws IOException */publicstaticAndroidProvisioningPartnergetService()throwsIOException{Credentialcredential=authorize();returnnewAndroidProvisioningPartner.Builder(HTTP_TRANSPORT,JSON_FACTORY,credential).setApplicationName(APP_NAME).build();}/** * Runs the zero-touch enrollment quickstart app. * @throws IOException */publicstaticvoidmain(String[]args)throwsIOException{// Create a zero-touch enrollment API service endpoint.AndroidProvisioningPartnerservice=getService();// Send an API request to list all our customers.AndroidProvisioningPartner.Partners.Customers.Listrequest=service.partners().customers().list(PARTNER_ID);ListCustomersResponseresponse=request.execute();// Print out the details of each customer.if(response.getCustomers()!=null){java.util.List<Company>customers=response.getCustomers();for(Companycustomer:customers){System.out.format("Name:%s ID:%d\n",customer.getCompanyName(),customer.getCompanyId());}}else{System.out.println("No customers found");}}}
Идентификатор партнера
Для вызовов API обычно в качестве аргумента требуется идентификатор вашего партнера-посредника. Чтобы найти свой идентификатор партнера на портале автоматической регистрации, выполните следующие действия:
Откройте портал . Возможно, вам придется войти в систему.
Нажмите settings_ethernetСервисные учетные записи .
Скопируйте свой идентификационный номер партнера из строки «Идентификатор реселлера» .
Шаг 5. Запустите образец
Используйте справку вашей операционной системы для запуска сценария в файле. На компьютерах UNIX и Mac выполните в терминале приведенную ниже команду:
gradle-qrun
Поиск неисправностей
Сообщите нам, что пошло не так с кратким руководством, и мы постараемся это исправить. Чтобы узнать, как автоматическая настройка использует учетные записи служб для авторизации вызовов API, прочтите статью Авторизация .
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-08-29 UTC."],[[["\u003cp\u003eThis guide walks you through setting up a simple Java command-line application that interacts with the zero-touch enrollment reseller API in approximately 10 minutes.\u003c/p\u003e\n"],["\u003cp\u003eTo begin, you'll need a Google account within your zero-touch enrollment reseller account, Java 1.7 or later, Gradle 2.3 or later, and internet access.\u003c/p\u003e\n"],["\u003cp\u003eThe process involves turning on the zero-touch enrollment API, creating and linking a service account within the portal, and downloading a JSON key for authentication.\u003c/p\u003e\n"],["\u003cp\u003eYou'll then prepare a Gradle project, copy the service account key, set up the sample Java code with your reseller partner ID, and finally run the application using a simple command.\u003c/p\u003e\n"],["\u003cp\u003eThe code when run will list all customers associated with your reseller partner id.\u003c/p\u003e\n"]]],["First, enable the zero-touch enrollment API and create a service account, noting its ID and downloading its JSON key. Link this service account in the zero-touch portal. Next, set up a Gradle project, placing the downloaded key in the `src/main/resources/` directory and modify the `build.gradle` file. Then create `ResellerQuickstart.java`, replacing the placeholder `PARTNER_ID` with your actual reseller partner ID. Finally, execute the project using the `gradle -q run` command.\n"],null,["# Java quickstart for resellers\n\nFollow the steps in this quickstart guide, and in about 10 minutes you'll have\na simple Java command-line app that makes requests to the zero-touch\nenrollment reseller API.\n\nPrerequisites\n-------------\n\nTo run this quickstart, you'll need:\n\n- A Google account, that's a member of your zero-touch enrollment reseller account. If you haven't onboarded yet, follow the steps in *Get started* in the [Reseller portal guide](/zero-touch/guides/portal).\n- Java 1.7 or greater.\n- [Gradle 2.3 or greater](http://gradle.org/downloads).\n- Access to the internet and a web browser.\n\nStep 1: Turn on the zero-touch enrollment API\n---------------------------------------------\n\n1. Use [this\n wizard](https://console.developers.google.com/start/api?id=androiddeviceprovisioning.googleapis.com) to create or select a project in the Google Developers Console and automatically turn on the API. Click **Continue** , then **Go to credentials**.\n2. Set **What data will you be accessing?** to *Application data*.\n3. Click **Next**. You should be prompted to create a service account.\n4. Give a descriptive name for **Service account name**.\n5. Note the **Service account ID** (it looks like an email address) because you'll use it later.\n6. Set **Role** to *Service Accounts \\\u003e Service Account User*.\n7. Click **Done** to finish creating the service account.\n8. Click the email address for the service account that you created.\n9. Click \\*\\*Keys\\*\\*.\n10. Click \\*\\*Add key\\*\\*, then click \\*\\*Create new key\\*\\*.\n11. For \\*\\*Key type\\*\\*, select \\*\\*JSON\\*\\*.\n12. Click **Create** and the private key downloads to your computer.\n13. Click \\*\\*Close\\*\\*.\n14. Move the file to your working directory and rename it `service_account_key.json`.\n\n| **Warning:** Service account keys can become a security risk if not managed carefully. For advice see [best practices for managing API keys](https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys).\n\nStep 2: Link the service account\n--------------------------------\n\n1. Open the zero-touch enrollment [portal](https://enterprise.google.com/android/zero-touch/resellers). You might need to sign in.\n2. Click settings_ethernet **Service\n accounts**.\n3. Click add **Link service account**.\n4. Set **Email address** to the address of the service account you created.\n5. Click **Link service account** to use the service account with your zero-touch enrollment account.\n\nStep 3: Prepare the project\n---------------------------\n\nFollow the steps below to set up your Gradle project:\n\n1. Run the following command to create a new project in the working directory:\n\n gradle init --type basic\n mkdir -p src/main/java src/main/resources\n\n2. Copy the `service_account_key.json` file you downloaded in Step 1 into the\n `src/main/resources/` directory you created above.\n\n3. Open the default `build.gradle` file and replace its contents with the\n following code:\n\n apply plugin: 'java'\n apply plugin: 'application'\n\n mainClassName = 'ResellerQuickstart'\n sourceCompatibility = 1.7\n targetCompatibility = 1.7\n version = '1.0'\n\n repositories {\n mavenCentral()\n }\n\n dependencies {\n compile 'com.google.api-client:google-api-client:1.30.11'\n compile 'com.google.apis:google-api-services-androiddeviceprovisioning:+'\n compile 'com.google.oauth-client:google-oauth-client-jetty:+'\n }\n\nStep 4: Set up the sample\n-------------------------\n\nCreate a file named `src/main/java/ResellerQuickstart.java` and copy in the\nfollowing code and save the file. Insert your own [reseller partner\nID](#partner-id) as the value for `PARTNER_ID` (the app's first line). \n\n```java\nimport com.google.api.client.auth.oauth2.Credential;\nimport com.google.api.client.googleapis.auth.oauth2.GoogleCredential;\nimport com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;\nimport com.google.api.client.http.HttpTransport;\nimport com.google.api.client.json.JsonFactory;\nimport com.google.api.client.json.jackson2.JacksonFactory;\nimport com.google.api.services.androiddeviceprovisioning.v1.AndroidProvisioningPartner;\nimport com.google.api.services.androiddeviceprovisioning.v1.model.Company;\nimport com.google.api.services.androiddeviceprovisioning.v1.model.ListCustomersResponse;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.InputStreamReader;\nimport java.util.Arrays;\nimport java.util.List;\n\n/**\n * This class forms the quickstart introduction to the zero-touch enrollemnt\n * reseller API.\n */\npublic class ResellerQuickstart {\n\n // TODO: replace this with your partner reseller ID.\n private static long PARTNER_ID = 11036885;\n\n // Use a single scope for the all methods in the reseller API.\n private static final List\u003cString\u003e SCOPES =\n Arrays.asList(\"https://www.googleapis.com/auth/androidworkprovisioning\");\n private static final String APP_NAME = \"Zero-touch Reseller Java Quickstart\";\n\n // Global shared instances.\n private static final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();\n private static HttpTransport HTTP_TRANSPORT;\n\n static {\n try {\n HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();\n } catch (Throwable t) {\n t.printStackTrace();\n System.exit(1);\n }\n }\n\n /**\n * Creates a Credential object with the correct OAuth2 authorization\n * for the service account that calls the reseller API. The service\n * endpoint invokes this method when setting up a new service instance.\n * @return an authorized Credential object.\n * @throws IOException\n */\n public static Credential authorize() throws IOException {\n // Load the service account key from the JSON file.\n InputStream in =\n ResellerQuickstart.class.getResourceAsStream(\"/service_account_key.json\");\n\n // Create the credential scoped to the zero-touch enrollemnt\n // reseller APIs.\n GoogleCredential credential = GoogleCredential\n .fromStream(in)\n .createScoped(SCOPES);\n return credential;\n }\n\n /**\n * Builds and returns an authorized zero-touch enrollment API client service.\n * Use the service endpoint to call the API methods.\n * @return an authorized client service endpoint\n * @throws IOException\n */\n public static AndroidProvisioningPartner getService() throws IOException {\n Credential credential = authorize();\n return new AndroidProvisioningPartner.Builder(\n HTTP_TRANSPORT, JSON_FACTORY, credential)\n .setApplicationName(APP_NAME)\n .build();\n }\n\n /**\n * Runs the zero-touch enrollment quickstart app.\n * @throws IOException\n */\n public static void main(String[] args) throws IOException {\n\n // Create a zero-touch enrollment API service endpoint.\n AndroidProvisioningPartner service = getService();\n\n // Send an API request to list all our customers.\n AndroidProvisioningPartner.Partners.Customers.List request =\n service.partners().customers().list(PARTNER_ID);\n ListCustomersResponse response = request.execute();\n\n // Print out the details of each customer.\n if (response.getCustomers() != null) {\n java.util.List\u003cCompany\u003e customers = response.getCustomers();\n for (Company customer : customers) {\n System.out.format(\"Name:%s ID:%d\\n\",\n customer.getCompanyName(),\n customer.getCompanyId());\n }\n } else {\n System.out.println(\"No customers found\");\n }\n }\n}\n```\n\n### Partner ID\n\nAPI calls typically need your reseller partner ID as an argument. To find your\npartner ID from the zero-touch enrollment portal, follow the steps below:\n\n1. Open the [portal](https://enterprise.google.com/android/zero-touch/resellers). You might need to sign in.\n2. Click settings_ethernet **Service\n accounts**.\n3. Copy your partner ID number from the **Your reseller ID** line.\n\nStep 5: Run the sample\n----------------------\n\nUse your operating system's help to run the script in the file. On UNIX and Mac\ncomputers, run the command below in your terminal: \n\n gradle -q run\n\nTroubleshooting\n---------------\n\n\n[Tell us what went wrong]() with the quickstart and we'll work to\nfix it. To learn how zero-touch uses service accounts to authorize API calls, read\n[Authorization](/zero-touch/guides/auth).\n\nLearn more\n----------\n\n- [Google Developers Console help documentation](/console/help/new)\n- [Google APIs Client for Java documentation](/api-client-library/java)\n- [Google APIs Client Javadocs](/api-client-library/java/google-api-java-client/reference)"]]