Siga as etapas deste guia de início rápido e, em cerca de 10 minutos, você terá um app de console .NET C# simples que faz solicitações à API de inscrição do cliente sem interação usando uma conta de serviço.
Pré-requisitos
Para executar este guia de início rápido, você precisa de:
- Uma conta de serviço vinculada à sua conta de cliente de registro sem toque. Consulte Começar.
- Visual Studio 2013 ou mais recente.
- Acesso à Internet e a um navegador da Web.
Etapa 1: ativar a API de registro sem toque
- Use este assistente para criar ou selecionar um projeto no Google Developers Console e ativar a API automaticamente. Clique em Continuar e em Acessar credenciais .
- Defina Quais dados você acessará? como Dados do aplicativo.
- Clique em Próxima. Você vai receber uma solicitação para criar uma conta de serviço.
- Dê um nome descritivo para Nome da conta de serviço.
- Anote o ID da conta de serviço (parece um endereço de e-mail) porque você usá-lo mais tarde.
- Defina o Papel como Contas de serviço > Usuário da conta de serviço.
- Clique em Concluído para terminar a criação da conta de serviço.
- Clique no endereço de e-mail da conta de serviço que você criou.
- Clique em **Chaves**.
- Clique em **Adicionar chave** e em **Criar nova chave**.
- Em **Tipo de chave**, selecione **JSON**.
- Clique em Criar. O download da chave privada é feito no computador.
- Clique em **Fechar**.
- Mova o arquivo para o diretório de trabalho e renomeie-o como
service_account_key.json
.
Etapa 2: preparar o projeto
- Crie um novo projeto de aplicativo do console do .NET Core C# no Visual Studio.
- Abra o Gerenciador de pacotes, selecione a origem do pacote nuget.org e adicione
estes pacotes:
Google.Apis.AndroidProvisioningPartner.v1
Google.Apis.Auth
Para saber mais, leia o documento da Microsoft Instalar e usar um pacote.
Etapa 3: configurar o exemplo
- Arraste o arquivo
service_account_key.json
que você transferiu por download quando criou o conta de serviço no Solution Explorer do Visual Studio. - Selecione
service_account_key.json
, acesse a janela "Properties" e Defina o campo Copiar para o diretório de saída como Sempre copiar. - Substitua o conteúdo de
Program.cs
pelo seguinte código:
using Google.Apis.AndroidProvisioningPartner.v1; using Google.Apis.AndroidProvisioningPartner.v1.Data; using Google.Apis.Auth.OAuth2; using Google.Apis.Services; 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) { GoogleCredential credential; // Authenticate using the service account key credential = GoogleCredential.FromFile("service_account_key.json") .CreateScoped(Scopes); // 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); } } } }
Etapa 4: executar a amostra
Para criar e executar o exemplo, clique em
Start na barra de ferramentas do Visual Studio.Observações
- Evite compartilhar o arquivo
service_account_key.json
com qualquer pessoa. Não inclua o arquivo em repositórios de código-fonte. Você pode ler mais conselhos sobre como lidar com secrets de contas de serviço.