Guide de démarrage rapide de Java pour les revendeurs
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Suivez les étapes de ce guide de démarrage rapide. En 10 minutes environ, vous disposerez d'une application de ligne de commande Java simple qui envoie des requêtes à l'API de revendeur d'enregistrement sans contact.
Prérequis
Pour exécuter ce guide de démarrage rapide, vous avez besoin des éléments suivants :
Un compte Google, membre de votre compte revendeur d'enregistrement sans contact. Si vous n'avez pas encore intégré le portail, suivez les étapes de la section Premiers pas du guide du portail pour les revendeurs.
Étape 1 : Activez l'API d'inscription sans contact
Utilisez cet assistant pour créer ou sélectionner un projet dans la Google Developers Console et activer automatiquement l'API. Cliquez sur Continuer, puis sur Accéder aux identifiants.
Définissez À quelles données allez-vous accéder ? sur Données d'application.
Cliquez sur Suivant. Vous devriez être invité à créer un compte de service.
Attribuez un nom descriptif à Nom du compte de service.
Notez l'ID de compte de service (qui ressemble à une adresse e-mail), car vous en aurez besoin plus tard.
Définissez Rôle sur Comptes de service > Utilisateur du compte de service.
Cliquez sur OK pour terminer la création du compte de service.
Cliquez sur l'adresse e-mail du compte de service créé.
Cliquez sur **Clés**.
Cliquez sur "Ajouter une clé", puis sur "Créer une clé".
Pour "Type de clé", sélectionnez "JSON".
Cliquez sur Créer. La clé privée est alors téléchargée sur votre ordinateur.
Cliquez sur "Fermer".
Déplacez le fichier vers votre répertoire de travail et renommez-le service_account_key.json.
Étape 2 : Associer le compte de service
Ouvrez le portail d'enregistrement sans contact. Pour cela, vous devrez peut-être vous connecter.
Cliquez sur settings_ethernetComptes de service.
Cliquez sur addAssocier un compte de service.
Définissez Adresse e-mail sur l'adresse du compte de service que vous avez créé.
Cliquez sur Associer le compte de service pour utiliser le compte de service avec votre compte d'enregistrement sans contact.
Étape 3 : Préparer le projet
Pour configurer votre projet Gradle, procédez comme suit :
Exécutez la commande suivante pour créer un projet dans le répertoire de travail:
Créez un fichier nommé src/main/java/ResellerQuickstart.java, copiez-y le code suivant et enregistrez-le. Insérez votre propre ID de partenaire revendeur comme valeur pour PARTNER_ID (première ligne de l'application).
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");}}}
ID du partenaire
Les appels d'API nécessitent généralement votre ID de partenaire revendeur comme argument. Pour trouver votre ID de partenaire sur le portail d'enregistrement sans contact, procédez comme suit:
Ouvrez le portail. Pour cela, vous devrez peut-être vous connecter.
Cliquez sur settings_ethernetComptes de service.
Copiez votre identifiant de partenaire à partir de la ligne Votre identifiant de revendeur.
Étape 5 : Exécuter l'exemple
Utilisez l'aide de votre système d'exploitation pour exécuter le script dans le fichier. Sur les ordinateurs UNIX et Mac, exécutez la commande ci-dessous dans votre terminal :
gradle-qrun
Dépannage
Dites-nous ce qui ne va pas avec le tutoriel de démarrage, et nous ferons tout notre possible pour le résoudre. Pour découvrir comment la fonctionnalité sans contact utilise des comptes de service pour autoriser les appels d'API, consultez la section Autorisation.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/29 (UTC).
[null,null,["Dernière mise à jour le 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)"]]