經銷商專用的 .NET 快速入門導覽課程

只要按照這份快速入門指南中的步驟操作,大約 10 分鐘內,您就能完成一個簡單的 .NET C# 主控台應用程式,向零接觸註冊經銷商 API 提出要求。

必要條件

如要執行這個快速入門,您需要:

  • 您的零接觸註冊機制經銷商帳戶的成員 Google 帳戶。如果尚未完成新手上路流程,請按照經銷商入口網站指南中的入門步驟操作。
  • 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
  1. 開啟零接觸註冊機制入口網站。您可能需要登入。
  2. 按一下 「Service accounts」
  3. 按一下 「連結服務帳戶」
  4. 將「Email address」(電子郵件地址) 設為您建立的服務帳戶的電子郵件地址。
  5. 按一下「連結服務帳戶」,即可使用服務帳戶和零接觸註冊帳戶。

步驟 3:準備專案

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

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

步驟 4:設定範例

  1. service_account_key.json (在步驟 1 中下載) 拖曳至 Visual Studio 的「Solution Explorer」(解決方案總管)。
  2. 選取 service_account_key.json,然後前往「Properties」(屬性) 視窗,將「Copy to output directory」(複製到輸出目錄) 欄位設為「Always copy」
  3. Program.cs 的內容替換為以下程式碼。
  4. 將您自己的經銷商合作夥伴 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,請按照下列步驟操作:

  1. 開啟入口網站,您可能需要登入。
  2. 按一下 「Service Accounts」
  3. 從「您的經銷商 ID」行複製合作夥伴 ID 編號。

步驟 5:執行範例

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

疑難排解

告訴我們快速入門課程有哪些錯誤,我們會盡力修正。如要瞭解零接觸技術如何使用服務帳戶授權 API 呼叫,請參閱「授權」一文。

瞭解詳情