Guia de início rápido do .NET para clientes

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 do seguinte:

  • Uma conta de serviço vinculada ao seu cliente de registro sem toque do Compute Engine. Consulte Adquirir iniciado.
  • Visual Studio 2013 ou mais recente.
  • Acesso à Internet e a um navegador da Web.

Etapa 1: ativar a API de registro sem toque

  1. 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 .
  2. Defina Quais dados você acessará? como Dados do aplicativo.
  3. Clique em Próxima. Você vai receber uma solicitação para criar uma conta de serviço.
  4. Dê um nome descritivo para Nome da conta de serviço.
  5. Anote o ID da conta de serviço (parece um endereço de e-mail), porque você vai precisar dele mais tarde.
  6. Defina Papel como Contas de serviço > Usuário da conta de serviço.
  7. Clique em Concluído para terminar a criação da conta de serviço.
  8. Clique no endereço de e-mail da conta de serviço que você criou.
  9. Clique em **Chaves**.
  10. Clique em **Adicionar chave** e em **Criar nova chave**.
  11. Em **Tipo de chave**, selecione **JSON**.
  12. Clique em Criar. O download da chave privada é feito no computador.
  13. Clique em **Fechar**.
  14. Mova o arquivo para o diretório de trabalho e renomeie-o como service_account_key.json.

Etapa 2: preparar o projeto

  1. Crie um novo projeto de aplicativo de console C# do .NET Core no Visual Studio.
  2. 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 a amostra

  1. Arraste o service_account_key.json que você fez o download ao criar a conta de serviço para o Solution Explorer do Visual Studio.
  2. Selecione service_account_key.json, acesse a janela "Properties" e Defina o campo Copiar para o diretório de saída como Sempre copiar.
  3. 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

Saiba mais