Krótkie wprowadzenie do aplikacji .NET dla klientów

Wykonaj czynności opisane w tym krótkim przewodniku. Za 10 minut masz do dyspozycji prostą aplikację na konsoli .NET C#, która wysyła żądania do interfejsu API rejestracji typu zero-touch za pomocą konta usługi.

Wymagania wstępne

Aby to zrobić, potrzebujesz:

  • Konto usługi połączone z kontem klienta rejestracji typu zero-touch. Zobacz Pierwsze kroki.
  • Visual Studio 2013 lub nowsza.
  • Dostęp do internetu i przeglądarki.

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

  1. Aby utworzyć lub wybrać projekt w Google Developers Console, i automatycznie włączyć ten interfejs API, użyj tego kreatora. Kliknij Dalej, a następnie Otwórz dane logowania.
  2. Ustaw Jakie dane będą dostępne? na Dane aplikacji.
  3. Kliknij Dalej. Pojawi się prośba o utworzenie konta usługi.
  4. Nadaj nazwę konta usługi opisową.
  5. Zapisz identyfikator konta usługi (wygląda jak adres e-mail), ponieważ będziesz go używać później.
  6. Ustaw Rolę na Konta usługi > Użytkownik konta usługi.
  7. Aby zakończyć tworzenie konta usługi, kliknij Gotowe.
  8. Kliknij adres e-mail utworzonego przez siebie konta usługi.
  9. Kliknij **Klucze**.
  10. Kliknij **Dodaj klucz**, a następnie **Utwórz nowy klucz**.
  11. W polu **Typ klucza** wybierz **JSON**.
  12. Kliknij Utwórz, aby pobrać klucz prywatny 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 nowy projekt Console Application .NET Core C# w Visual Studio.
  2. Otwórz Menedżera pakietów, wybierz źródło pakietu nuget.org i dodaj te pakiety:
    • Google.Apis.AndroidProvisioningPartner.v1
    • Google.Apis.Auth

Aby dowiedzieć się więcej, przeczytaj dokument Microsoftu na temat instalowania i używania pakietu.

Krok 3. Skonfiguruj przykład

  1. Przeciągnij plik service_account_key.json pobrany podczas tworzenia konta usługi do Eksploratora rozwiązań Visual Studio.
  2. Wybierz service_account_key.json, a następnie przejdź do okna Właściwości i ustaw w polu Kopiuj do katalogu wyjściowego wartość Zawsze kopiuj.
  3. Zastąp zawartość pliku 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 przykład

Aby skompilować i uruchomić próbkę, kliknij Start na pasku narzędzi Visual Studio.

Uwagi

Więcej informacji