客戶專用的 .NET 快速入門導覽課程

請按照這份快速入門指南中的步驟進行,大約 10 分鐘後開始 這個簡單的 .NET C# 主控台應用程式會向零接觸註冊機制提出要求 透過服務帳戶管理 API

必要條件

如要執行本快速入門導覽課程,您需要:

  • 與零接觸註冊機制客戶連結的服務帳戶 讓他們使用服務帳戶請參閱取得 已開始
  • Visual Studio 2013 以上版本。
  • 連上網際網路和網路瀏覽器。

步驟 1:啟用零接觸註冊 API

  1. 請使用此 精靈在 Google Developers Console 中建立或選取專案,並且 系統會自動啟用 API依序點選「繼續」和「前往憑證」
  2. 將「您要存取哪些資料?」設為「應用程式資料」
  3. 按一下「繼續」,系統應會提示您建立服務帳戶。
  4. 在「服務帳戶名稱」中輸入描述性名稱。
  5. 請記下服務帳戶 ID (看起來像電子郵件地址),因為您稍後會用到這個 ID。
  6. 角色設為服務帳戶 >服務帳戶使用者
  7. 按一下「Done」(完成),即完成建立服務帳戶。
  8. 點選您建立的服務帳戶的電子郵件地址。
  9. 按一下「金鑰」。
  10. 依序點選「新增金鑰」和「建立新的金鑰」。
  11. 在「金鑰類型」中選取「JSON」。
  12. 按一下「Create」,私密金鑰就會下載到電腦中。
  13. 按一下「關閉」。
  14. 將檔案移至工作目錄,並重新命名為 service_account_key.json

步驟 2:準備專案

  1. 在 Visual Studio 中建立新的 .NET Core C# 主控台應用程式專案。
  2. 開啟套件管理員,選取套件來源 nuget.org,然後 下列套件:
    • Google.Apis.AndroidProvisioningPartner.v1
    • Google.Apis.Auth

詳情請參閱 Microsoft 文件「安裝及使用套件」。

步驟 3:設定範例

  1. 拖曳您在建立service_account_key.json時下載的 複製到 Visual Studio Solution Explorer
  2. 選取 service_account_key.json,然後前往「Properties」(屬性) 視窗, 將「Copy to output directory」欄位設為「Always copy」
  3. 使用下列程式碼取代 Program.cs 的內容:
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);
            }

        }
    }
}

步驟 4:執行範例

如要建構及執行範例,請按一下 Visual Studio 工具列中的 「Start」

附註

  • 請勿與任何人共用 service_account_key.json 檔案。請注意,不要將其納入原始碼儲存庫。如需進一步說明,請參閱: 處理服務帳戶密鑰

瞭解詳情