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 console .NET C# simple qui envoie des requêtes à l'API client d'enregistrement sans contact à l'aide d'un compte de service.
Prérequis
Pour exécuter ce guide de démarrage rapide, vous avez besoin des éléments suivants :
Un compte de service associé à votre compte client d'enregistrement sans contact. Consultez Premiers pas.
Visual Studio 2013 ou version ultérieure
Accès à Internet et à un navigateur Web.
Étape 1: Activez l'API d'enregistrement sans contact
Utilisez ces instructions
pour créer ou sélectionner un projet dans la Google Developers Console.
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 service
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 : Préparer le projet
Créez un projet Application console C# .NET Core dans Visual Studio.
Ouvrez le Gestionnaire de paquets, sélectionnez la source de paquets nuget.org, puis ajoutez les paquets suivants :
Faites glisser le fichier service_account_key.json que vous avez téléchargé lorsque vous avez créé votre compte de service dans l'explorateur de solutions Visual Studio.
Sélectionnez service_account_key.json, accédez à la fenêtre "Propriétés", puis
Définissez le champ Copier dans le répertoire de sortie sur Toujours copier.
Remplacez le contenu du fichier Program.cs par le code suivant :
usingGoogle.Apis.AndroidProvisioningPartner.v1;usingGoogle.Apis.AndroidProvisioningPartner.v1.Data;usingGoogle.Apis.Auth.OAuth2;usingGoogle.Apis.Services;usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Threading;namespaceZeroTouchCustomerQuickstart{classProgram{// A single scope is used for the zero-touch enrollment customer API.staticreadonlystring[]Scopes={"https://www.googleapis.com/auth/androidworkzerotouchemm"};staticstringApplicationName="Zero-touch Enrollment .NET Quickstart";staticvoidMain(string[]args){GoogleCredentialcredential;// Authenticate using the service account keycredential=GoogleCredential.FromFile("service_account_key.json").CreateScoped(Scopes);// Create a zero-touch enrollment API service endpoint.varservice=newAndroidProvisioningPartnerService(newBaseClientService.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.ListRequestaccountRequest=service.Customers.List();accountRequest.PageSize=1;CustomerListCustomersResponseaccountResponse=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);}Companycustomer=accountResponse.Customers[0];varcustomerAccount=String.Format("customers/{0}",customer.CompanyId);// Send an API request to list all the DPCs available.CustomersResource.DpcsResource.ListRequestrequest=service.Customers.Dpcs.List(customerAccount);CustomerListDpcsResponseresponse=request.Execute();// Print out the details of each DPC.IList<Dpc>dpcs=response.Dpcs;foreach(DpcdpcAppindpcs){Console.WriteLine("Name:{0} APK:{1}",dpcApp.DpcName,dpcApp.PackageName);}}}}
Étape 4 : Exécuter l'exemple
Pour compiler et exécuter l'exemple, cliquez sur play_arrow
Démarrer dans la barre d'outils de Visual Studio.
Remarques
Évitez de partager votre fichier service_account_key.json avec qui que ce soit. Veillez à ne pas l'inclure dans les dépôts de code source. Vous pouvez lire d'autres
conseils sur
gestion des codes secrets d'un compte de service.
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/07/25 (UTC).
[null,null,["Dernière mise à jour le 2025/07/25 (UTC)."],[[["\u003cp\u003eThis quickstart guide helps you create a simple .NET C# console application that interacts with the zero-touch enrollment customer API using a service account in about 10 minutes.\u003c/p\u003e\n"],["\u003cp\u003eYou will need a service account linked to your zero-touch enrollment customer account, Visual Studio 2013 or later, and internet access to complete this process.\u003c/p\u003e\n"],["\u003cp\u003eThe process involves creating or selecting a project in the Google Developers Console to enable the zero-touch enrollment API and creating a JSON service account key.\u003c/p\u003e\n"],["\u003cp\u003eThe project setup requires creating a .NET Core C# Console Application in Visual Studio and adding the \u003ccode\u003eGoogle.Apis.AndroidProvisioningPartner.v1\u003c/code\u003e and \u003ccode\u003eGoogle.Apis.Auth\u003c/code\u003e NuGet packages.\u003c/p\u003e\n"],["\u003cp\u003eThe sample code provided in this guide demonstrates how to use the service account key to authenticate, access the customer's account, and list the available DPCs (Device Policy Controllers) through the zero-touch enrollment API.\u003c/p\u003e\n"]]],["This guide outlines creating a .NET C# console app to interact with the zero-touch enrollment customer API. It involves creating a service account, enabling the API, and downloading a JSON key. The process includes setting up a new C# console project in Visual Studio, adding necessary NuGet packages, and placing the service account key in the project directory. The `Program.cs` file is updated with code to authenticate and then send an API request to list all DPCs and print them out in the console. Finally, run the application.\n"],null,["# .NET quickstart for customers\n\nFollow the steps in this quickstart guide, and in about 10 minutes you have\na simple .NET C# console app that makes requests to the zero-touch enrollment\ncustomer API using a service account.\n\nPrerequisites\n-------------\n\nTo run this quickstart, you need:\n\n- A service account, that's linked to you zero-touch enrollment customer account. See [Get\n started](/zero-touch/guides/customer/service-accounts).\n- Visual Studio 2013 or later.\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: Prepare the project\n---------------------------\n\n1. Create a new .NET Core C# *Console Application* project in Visual Studio.\n2. Open the Package Manager, select the package source **nuget.org** , and add the following packages:\n - `Google.Apis.AndroidProvisioningPartner.v1`\n - `Google.Apis.Auth`\n\nTo learn more, read the Microsoft document [Install and use a\npackage](https://docs.microsoft.com/en-us/nuget/quickstart/use-a-package).\n\nStep 3: Set up the sample\n-------------------------\n\n1. Drag the `service_account_key.json` you downloaded when you created your service account into your Visual Studio Solution Explorer.\n2. Select `service_account_key.json`, and then go to the Properties window and set **Copy to output directory** field to *Always copy*.\n3. Replace the contents of `Program.cs` with the following code:\n\n```c#\nusing Google.Apis.AndroidProvisioningPartner.v1;\nusing Google.Apis.AndroidProvisioningPartner.v1.Data;\nusing Google.Apis.Auth.OAuth2;\nusing Google.Apis.Services;\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Threading;\n\nnamespace ZeroTouchCustomerQuickstart\n{\n class Program\n {\n // A single scope is used for the zero-touch enrollment customer API.\n static readonly string[] Scopes =\n { \"https://www.googleapis.com/auth/androidworkzerotouchemm\" };\n static string ApplicationName = \"Zero-touch Enrollment .NET Quickstart\";\n\n static void Main(string[] args)\n {\n GoogleCredential credential;\n\n // Authenticate using the service account key\n credential = GoogleCredential.FromFile(\"service_account_key.json\")\n .CreateScoped(Scopes);\n\n // Create a zero-touch enrollment API service endpoint.\n var service = new AndroidProvisioningPartnerService(new BaseClientService.Initializer\n {\n HttpClientInitializer = credential,\n ApplicationName = ApplicationName\n });\n\n // Get the customer's account. Because a customer might have more\n // than one, limit the results to the first account found.\n CustomersResource.ListRequest accountRequest = service.Customers.List();\n accountRequest.PageSize = 1;\n CustomerListCustomersResponse accountResponse = accountRequest.Execute();\n if (accountResponse.Customers.Count == 0)\n {\n // No accounts found for the user. Confirm the Google Account\n // that authorizes the request can access the zero-touch portal.\n Console.WriteLine(\"No zero-touch enrollment account found.\");\n Environment.Exit(-1);\n }\n Company customer = accountResponse.Customers[0];\n var customerAccount = String.Format(\"customers/{0}\", customer.CompanyId);\n\n\n // Send an API request to list all the DPCs available.\n CustomersResource.DpcsResource.ListRequest request = service.Customers.Dpcs.\n List(customerAccount);\n CustomerListDpcsResponse response = request.Execute();\n\n // Print out the details of each DPC.\n IList\u003cDpc\u003e dpcs = response.Dpcs;\n foreach (Dpc dpcApp in dpcs)\n {\n Console.WriteLine(\"Name:{0} APK:{1}\",\n dpcApp.DpcName,\n dpcApp.PackageName);\n }\n\n }\n }\n}\n```\n\nStep 4: Run the sample\n----------------------\n\nTo build and run the sample, click play_arrow **Start** in the Visual Studio toolbar.\n\nNotes\n-----\n\n- Avoid sharing your `service_account_key.json` file with anyone. Be careful not to include it in source code repositories. You can read more advice on [handling service account secrets](https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys).\n\nLearn more\n----------\n\n- [Google Developers Console help documentation](/console/help/new)\n- [Google API Client Library for .NET\n documentation](/api-client-library/dotnet)"]]