只要按照這份快速入門指南中的步驟操作,大約 10 分鐘內,您就能完成一個簡單的 .NET C# 主控台應用程式,向零接觸註冊經銷商 API 提出要求。
必要條件
如要執行這個快速入門,您需要:
- 您的零接觸註冊機制經銷商帳戶的成員 Google 帳戶。如果尚未完成新手上路流程,請按照經銷商入口網站指南中的入門步驟操作。
- Visual Studio 2013 以上版本。
- 可連上網際網路並具備網路瀏覽器。
步驟 1:啟用零接觸註冊 API
- 使用這個精靈,在 Google Developers Console 中建立或選取專案,並自動開啟 API。按一下「繼續」,然後點選「前往憑證」。
- 將「您需要存取什麼資料?」設為「應用程式資料」。
- 按一下「繼續」,系統應會提示您建立服務帳戶。
- 為「服務帳戶名稱」設定容易辨識的名稱。
- 請記下服務帳戶 ID (看起來像電子郵件地址),因為您稍後會用到這個 ID。
- 將「角色」設為「服務帳戶」>「服務帳戶使用者」。
- 按一下「Done」(完成),即完成建立服務帳戶。
- 點選您建立的服務帳戶的電子郵件地址。
- 按一下「金鑰」。
- 依序點選「新增金鑰」和「建立新的金鑰」。
- 在「金鑰類型」中選取「JSON」。
- 按一下「Create」,私密金鑰就會下載到電腦中。
- 按一下「關閉」。**
- 將檔案移至工作目錄,並重新命名為
service_account_key.json
。
步驟 2:連結服務帳戶
- 開啟零接觸註冊機制入口網站。您可能需要登入。
- 按一下 「Service accounts」。
- 按一下 「連結服務帳戶」。
- 將「Email address」(電子郵件地址) 設為您建立的服務帳戶的電子郵件地址。
- 按一下「連結服務帳戶」,即可使用服務帳戶和零接觸註冊帳戶。
步驟 3:準備專案
- 在 Visual Studio 中建立新的 .NET Core C# 主控台應用程式專案。
- 開啟套件管理員,選取套件來源 nuget.org,然後新增下列套件:
Google.Apis.AndroidProvisioningPartner.v1
Google.Apis.Auth
詳情請參閱 Microsoft 文件「安裝及使用套件」。
步驟 4:設定範例
- 將
service_account_key.json
(在步驟 1 中下載) 拖曳至 Visual Studio 的「Solution Explorer」(解決方案總管)。 - 選取
service_account_key.json
,然後前往「Properties」(屬性) 視窗,將「Copy to output directory」(複製到輸出目錄) 欄位設為「Always copy」。 - 將
Program.cs
的內容替換為以下程式碼。 - 將您自己的經銷商合作夥伴 ID 插入
PartnerId
(應用程式的第一行) 值中。
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; namespace ZeroTouchResellerQuickstart { class Program { // TODO: replace this with your partner reseller ID. static long PartnerId = 11036885; // Use a single scope for the all methods in the reseller API. static readonly string[] Scopes = { "https://www.googleapis.com/auth/androidworkprovisioning" }; static string ApplicationName = "Zero-touch Reseller .NET Quickstart"; static void Main(string[] args) { // Create a credential to authorize API requests using a service account key. // The service account must be linked using the zero-touch portal. ServiceAccountCredential credential; using (var stream = new FileStream("service_account_key.json", FileMode.Open, FileAccess.Read)) { credential = GoogleCredential.FromStream(stream) .CreateScoped(Scopes) .UnderlyingCredential as ServiceAccountCredential; } // Create a zero-touch enrollment API service endpoint. var service = new AndroidProvisioningPartnerService(new BaseClientService.Initializer { HttpClientInitializer = credential, ApplicationName = ApplicationName }); // Send an API request to list all our customers. PartnersResource.CustomersResource.ListRequest request = service.Partners.Customers.List(PartnerId); ListCustomersResponse response = request.Execute(); // Print out the details of each customer. IList<Company> customers = response.Customers; if (customers != null) { foreach (Company customer in customers) { Console.WriteLine("Name:{0} ID:{1}", customer.CompanyName, customer.CompanyId); } } else { Console.WriteLine("No customers found"); } } } }
合作夥伴 ID
API 呼叫通常需要您的經銷商合作夥伴 ID 做為引數。如要從零接觸註冊機制入口網站找出合作夥伴 ID,請按照下列步驟操作:
- 開啟入口網站,您可能需要登入。
- 按一下 「Service Accounts」。
- 從「您的經銷商 ID」行複製合作夥伴 ID 編號。
步驟 5:執行範例
如要建構及執行範例,請按一下 Visual Studio 工具列中的
「Start」。疑難排解
請告訴我們快速入門課程有哪些錯誤,我們會盡力修正。如要瞭解零接觸技術如何使用服務帳戶授權 API 呼叫,請參閱「授權」一文。