請按照這份快速入門指南中的步驟進行,大約 10 分鐘後開始 這個簡單的 .NET C# 主控台應用程式會向零接觸註冊機制提出要求 透過服務帳戶管理 API
必要條件
如要執行本快速入門導覽課程,您需要:
- 與零接觸註冊機制客戶連結的服務帳戶 讓他們使用服務帳戶請參閱取得 已開始。
- Visual Studio 2013 以上版本。
- 連上網際網路和網路瀏覽器。
步驟 1:啟用零接觸註冊 API
- 請使用此 精靈在 Google Developers Console 中建立或選取專案,並且 系統會自動啟用 API依序點選「繼續」和「前往憑證」 。
- 將「您要存取哪些資料?」設為「應用程式資料」。
- 按一下「繼續」,系統應會提示您建立服務帳戶。
- 在「服務帳戶名稱」中輸入描述性名稱。
- 請記下服務帳戶 ID (看起來像電子郵件地址),因為您稍後會用到這個 ID。
- 將角色設為服務帳戶 >服務帳戶使用者。
- 按一下「Done」(完成),即完成建立服務帳戶。
- 點選您建立的服務帳戶的電子郵件地址。
- 按一下「金鑰」。
- 依序點選「新增金鑰」和「建立新的金鑰」。
- 在「金鑰類型」中選取「JSON」。
- 按一下「Create」,私密金鑰就會下載到電腦中。
- 按一下「關閉」。
- 將檔案移至工作目錄,並重新命名為
service_account_key.json
。
步驟 2:準備專案
- 在 Visual Studio 中建立新的 .NET Core C# 主控台應用程式專案。
- 開啟套件管理員,選取套件來源 nuget.org,然後
下列套件:
Google.Apis.AndroidProvisioningPartner.v1
Google.Apis.Auth
詳情請參閱 Microsoft 文件「安裝及使用套件」。
步驟 3:設定範例
- 拖曳您在建立
service_account_key.json
時下載的 複製到 Visual Studio Solution Explorer - 選取
service_account_key.json
,然後前往「Properties」(屬性) 視窗, 將「Copy to output directory」欄位設為「Always copy」。 - 使用下列程式碼取代
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
檔案。請注意,不要將其納入原始碼儲存庫。如需進一步說明,請參閱: 處理服務帳戶密鑰。