Guide de démarrage rapide .NET pour les clients

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 de service. 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

  1. 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
  2. Cliquez sur Annuler dans la section "Créer des identifiants".
  3. 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.
  4. Sélectionnez l'onglet Identifiants, puis cliquez sur Créer des identifiants. et sélectionnez ID client OAuth.
  5. Sélectionnez le type d'application Autre, puis saisissez le nom. "Guide de démarrage rapide", puis cliquez sur le bouton Créer .
  6. Cliquez sur OK pour fermer le panneau Client OAuth.
  7. Cliquez sur Télécharger JSON.
  8. Déplacez le fichier dans votre répertoire de travail et renommez-le client_secret.json.

Étape 2: Préparer le projet

  1. Créez un projet d'application de console .NET Core C# dans Visual Studio.
  2. Ouvrez le gestionnaire de packages, sélectionnez la source du package nuget.org, puis ajoutez les packages suivants:
    • 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

  1. Faites glisser client_secret.json (téléchargé à l'étape 1) dans Visual Studio. Explorateur de solutions.
  2. 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.
  3. 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:

  1. 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.
  2. Cliquez sur Accepter.
  3. 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.

En savoir plus