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

請按照這份快速入門指南中的步驟進行,大約 10 分鐘後 這個簡單的 .NET C# 主控台應用程式會向零接觸註冊機制提出要求 經銷商 API。

必要條件

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

  • 擁有零接觸註冊機制經銷商的 Google 帳戶 讓他們使用服務帳戶如果您尚未加入,請按照 請參閱經銷商入口網站指南
  • Visual Studio 2013 以上版本。
  • 連上網際網路和網路瀏覽器。

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

  1. 請使用此 精靈在 Google Developers Console 中建立或選取專案,並且 系統會自動啟用 API依序點選「繼續」和「前往憑證」
  2. 將「您要存取哪些資料?」設為「應用程式資料」
  3. 按一下「繼續」,系統會提示您建立服務 讓他們使用服務帳戶
  4. 為「服務帳戶名稱」設定描述性的名稱。
  5. 記下「服務帳戶 ID」 (形式為電子郵件地址), 以便稍後使用
  6. 角色設為服務帳戶 >服務帳戶使用者
  7. 按一下「Done」(完成),即完成建立服務帳戶。
  8. 點選您建立的服務帳戶的電子郵件地址。
  9. 按一下「鍵」。
  10. 依序按一下「新增金鑰」和「建立新的金鑰」。
  11. 在「金鑰類型」部分選取「JSON」。
  12. 按一下「建立」,私密金鑰就會下載到您的電腦。
  13. 按一下「關閉」。
  14. 將檔案移至工作目錄,並重新命名為 service_account_key.json
  1. 開啟零接觸註冊機制入口網站。您可能需要登入。
  2. 按一下 服務 帳戶
  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 下載) 拖曳到影像中 Studio 解決方案總管
  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. 按一下 服務 帳戶
  3. 從「您的經銷商 ID」行複製合作夥伴 ID 編號。

步驟 5:執行範例

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

疑難排解

透過快速入門導覽課程告訴我們您遇到的問題,我們會盡力協助您 修復問題。如想瞭解零接觸機制如何使用服務帳戶授權 API 呼叫,請參閱 授權

瞭解詳情