.NET – krótkie wprowadzenie dla klientów

Wykonaj czynności opisane w tym krótkim przewodniku. Po około 10 minutach prosta aplikacja konsoli .NET C#, która wysyła żądania do rejestracji typu zero-touch. za pomocą konta usługi.

Wymagania wstępne

Aby uruchomić to krótkie wprowadzenie, musisz mieć:

  • Konto usługi połączone z kontem klienta na potrzeby rejestracji typu zero-touch. Zobacz Pobieranie rozpoczęto.
  • Visual Studio 2013 lub nowsza wersja.
  • dostęp do internetu i przeglądarki internetowej;

Krok 1. Włącz interfejs API rejestracji typu zero-touch

  1. Użyj tego w kreatorze, aby utworzyć lub wybrać projekt w Google Developers Console oraz automatycznie włączyć interfejs API. Kliknij Dalej, a następnie Przejdź do danych logowania .
  2. Ustaw opcję Do jakich danych będziesz uzyskiwać dostęp? na Dane aplikacji.
  3. Kliknij Dalej. Pojawi się prośba o utworzenie konta usługi.
  4. Podaj opisową nazwę w polu Nazwa konta usługi.
  5. Zapisz identyfikator konta usługi (wygląda jak adres e-mail), bo użyjemy jej później.
  6. Ustaw Rola na Konta usługi > Użytkownik kont usługi.
  7. Aby zakończyć tworzenie konta usługi, kliknij Gotowe.
  8. Kliknij adres e-mail utworzonego przez Ciebie konta usługi.
  9. Kliknij **Klucze**.
  10. Kliknij kolejno **Dodaj klucz** i **Utwórz nowy klucz**.
  11. W polu **Typ klucza** wybierz **JSON**.
  12. Kliknij Utwórz, a klucz prywatny zostanie pobrany na komputer.
  13. Kliknij **Zamknij**.
  14. Przenieś plik do katalogu roboczego i zmień jego nazwę na service_account_key.json.

Krok 2. Przygotuj projekt

  1. Utwórz w Visual Studio nowy projekt aplikacji konsoli .NET Core C#.
  2. Otwórz Menedżera pakietów, wybierz źródło pakietów nuget.org i dodaj te pakiety:
    • Google.Apis.AndroidProvisioningPartner.v1
    • Google.Apis.Auth

Więcej informacji znajdziesz w dokumentacji Microsoftu Instalowanie i używanie pakietu.

Krok 3. Skonfiguruj próbkę

  1. Przeciągnij plik service_account_key.json pobrany podczas tworzenia konta usługi do Visual Studio Solution Explorer.
  2. Wybierz service_account_key.json, przejdź do okna Właściwości i ustaw pole Kopiuj do katalogu wyjściowego na Zawsze kopiuj.
  3. Zastąp zawartość pola Program.cs tym kodem:
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);
            }

        }
    }
}

Krok 4. Uruchom kod

Aby skompilować i uruchomić przykład, na pasku narzędzi Visual Studio kliknij Start (Uruchom).

Uwagi

  • Nie udostępniaj pliku service_account_key.json nikomu. Uważaj, aby nie dodawać ich do repozytoriów kodu źródłowego. Więcej wskazówek dotyczących zarządzania kluczami tajnymi konta usługi znajdziesz w tym artykule.

Więcej informacji