Suivez les étapes de ce guide de démarrage rapide. En 10 minutes environ, vous aurez Une application de console .NET C# simple qui envoie des requêtes à l'enregistrement sans contact API client.
Prérequis
Pour exécuter ce guide de démarrage rapide, vous avez besoin des éléments suivants:
- Un compte Google membre du client de l'enregistrement sans contact Google Cloud. Voir la section Clients comptes Google.
- 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
- Cliquez sur Annuler dans la section "Créer des identifiants".
- En haut de la page, sélectionnez l'onglet OAuth consent screen (Écran d'autorisation OAuth). Sélectionnez une Adresse e-mail, saisissez le nom du produit s'il n'est pas déjà défini, et cliquez sur le bouton Enregistrer.
- Sélectionnez l'onglet Identifiants, puis cliquez sur Créer des identifiants. et sélectionnez ID client OAuth.
- Sélectionnez le type d'application Autre, puis saisissez le nom. "Guide de démarrage rapide", puis cliquez sur le bouton Créer .
- Cliquez sur OK pour fermer le panneau Client OAuth.
- Cliquez sur Télécharger JSON.
- Déplacez le fichier dans votre répertoire de travail et renommez-le
client_secret.json
.
Étape 2: Préparer le projet
- Créez un projet d'application de console .NET Core C# dans Visual Studio.
- Ouvrez le gestionnaire de packages, sélectionnez la source du package nuget.org, puis ajoutez
les packages suivants:
<ph type="x-smartling-placeholder">
- </ph>
Google.Apis.AndroidProvisioningPartner.v1
Google.Apis.Auth
Pour en savoir plus, consultez le document Microsoft Installer et utiliser un package.
Étape 3: Configurer l'exemple
- Faites glisser
client_secret.json
(téléchargé à l'étape 1) dans Visual Studio. Explorateur de solutions. - Sélectionnez
client_secret.json
, accédez à la fenêtre "Propriétés" et définissez Champ Copier dans le répertoire de sortie dans Toujours copier. - Remplacez le contenu du fichier
Program.cs
par le code suivant :
using Google.Apis.AndroidProvisioningPartner.v1; using Google.Apis.AndroidProvisioningPartner.v1.Data; using Google.Apis.Auth.OAuth2; using Google.Apis.Services; using Google.Apis.Util.Store; 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) { UserCredential credential; // Ask the user to authorize the request using their Google Account // in their browser. using (var stream = new FileStream("client_secret.json", FileMode.Open, FileAccess.Read)) { string credPath = System.Environment.GetFolderPath( System.Environment.SpecialFolder.Personal); credPath = Path.Combine(credPath, ".credentials/zero-touch.quickstart.json"); credential = GoogleWebAuthorizationBroker.AuthorizeAsync( GoogleClientSecrets.FromStream(stream).Secrets, Scopes, "user", CancellationToken.None, new FileDataStore(credPath, true)).Result; Console.WriteLine("Credential file saved to: " + credPath); } // 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); } } } }
Étape 4: Exécuter l'exemple
Pour créer et exécuter l'exemple, cliquez sur
Start (Démarrer) dans la barre d'outils de Visual Studio.La première fois que vous exécutez l'application, vous devez autoriser l'accès:
- L'application tente d'ouvrir un nouvel onglet dans votre navigateur par défaut. Si cela ne fonctionne pas, copiez l'URL à partir du console et ouvrez-la dans votre navigateur. Si vous n'êtes pas déjà connecté à votre compte Google, invité à se connecter. Si vous êtes connecté à plusieurs comptes Google, la page vous invite à sélectionner un compte pour l'autorisation.
- Cliquez sur Accepter.
- Fermez l'onglet du navigateur. L'application continue de s'exécuter.
Remarques
- Étant donné que la bibliothèque cliente des API Google stocke les données d'autorisation dans le système de fichiers, lancements ne vous invitent pas à demander d’autorisation.
- Pour réinitialiser les données d'autorisation de l'application, supprimez le
~/.credentials/zero-touch.quickstart.json
et exécutez à nouveau l'application. - Le flux d'autorisation présenté dans ce guide de démarrage rapide est idéal pour les applications de ligne de commande. Pour savoir comment ajouter autorisation à une application Web, voir Utiliser OAuth 2.0 et les applications Web (ASP.NET MVC)
Dépannage
Voici quelques vérifications courantes à effectuer. <ph type="x-smartling-placeholder"></ph> Décrivez-nous le problème rencontré dans le guide de démarrage rapide. Nous nous efforcerons de le résoudre.
- Vérifiez que vous autorisez les appels d'API avec le compte Google membre de votre compte client pour l'enregistrement sans contact. Essayez de vous connecter au portail d'enregistrement sans contact à l'aide du même compte Google pour tester votre accès.
- Vérifiez que le compte a accepté les dernières conditions d'utilisation dans le portail. Voir <ph type="x-smartling-placeholder"></ph> Comptes client.