客戶專用的 .NET 快速入門導覽課程
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
只要按照本快速入門指南中的步驟操作,大約 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# 主控台應用程式專案。
- 開啟 Package Manager,選取套件來源 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 工具列中的 play_arrow
「Start」。
附註
- 請勿與任何人共用
service_account_key.json
檔案。請注意,不要將其納入原始碼儲存庫。如需進一步說明,請參閱:
處理服務帳戶密鑰。
瞭解詳情
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-25 (世界標準時間)。
[null,null,["上次更新時間:2025-07-25 (世界標準時間)。"],[[["\u003cp\u003eThis quickstart guide helps you create a simple .NET C# console application that interacts with the zero-touch enrollment customer API using a service account in about 10 minutes.\u003c/p\u003e\n"],["\u003cp\u003eYou will need a service account linked to your zero-touch enrollment customer account, Visual Studio 2013 or later, and internet access to complete this process.\u003c/p\u003e\n"],["\u003cp\u003eThe process involves creating or selecting a project in the Google Developers Console to enable the zero-touch enrollment API and creating a JSON service account key.\u003c/p\u003e\n"],["\u003cp\u003eThe project setup requires creating a .NET Core C# Console Application in Visual Studio and adding the \u003ccode\u003eGoogle.Apis.AndroidProvisioningPartner.v1\u003c/code\u003e and \u003ccode\u003eGoogle.Apis.Auth\u003c/code\u003e NuGet packages.\u003c/p\u003e\n"],["\u003cp\u003eThe sample code provided in this guide demonstrates how to use the service account key to authenticate, access the customer's account, and list the available DPCs (Device Policy Controllers) through the zero-touch enrollment API.\u003c/p\u003e\n"]]],["This guide outlines creating a .NET C# console app to interact with the zero-touch enrollment customer API. It involves creating a service account, enabling the API, and downloading a JSON key. The process includes setting up a new C# console project in Visual Studio, adding necessary NuGet packages, and placing the service account key in the project directory. The `Program.cs` file is updated with code to authenticate and then send an API request to list all DPCs and print them out in the console. Finally, run the application.\n"],null,["# .NET quickstart for customers\n\nFollow the steps in this quickstart guide, and in about 10 minutes you have\na simple .NET C# console app that makes requests to the zero-touch enrollment\ncustomer API using a service account.\n\nPrerequisites\n-------------\n\nTo run this quickstart, you need:\n\n- A service account, that's linked to you zero-touch enrollment customer account. See [Get\n started](/zero-touch/guides/customer/service-accounts).\n- Visual Studio 2013 or later.\n- Access to the internet and a web browser.\n\nStep 1: Turn on the zero-touch enrollment API\n---------------------------------------------\n\n1. Use [this\n wizard](https://console.developers.google.com/start/api?id=androiddeviceprovisioning.googleapis.com) to create or select a project in the Google Developers Console and automatically turn on the API. Click **Continue** , then **Go to credentials**.\n2. Set **What data will you be accessing?** to *Application data*.\n3. Click **Next**. You should be prompted to create a service account.\n4. Give a descriptive name for **Service account name**.\n5. Note the **Service account ID** (it looks like an email address) because you'll use it later.\n6. Set **Role** to *Service Accounts \\\u003e Service Account User*.\n7. Click **Done** to finish creating the service account.\n8. Click the email address for the service account that you created.\n9. Click \\*\\*Keys\\*\\*.\n10. Click \\*\\*Add key\\*\\*, then click \\*\\*Create new key\\*\\*.\n11. For \\*\\*Key type\\*\\*, select \\*\\*JSON\\*\\*.\n12. Click **Create** and the private key downloads to your computer.\n13. Click \\*\\*Close\\*\\*.\n14. Move the file to your working directory and rename it `service_account_key.json`.\n\n| **Warning:** Service account keys can become a security risk if not managed carefully. For advice see [best practices for managing API keys](https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys).\n\nStep 2: Prepare the project\n---------------------------\n\n1. Create a new .NET Core C# *Console Application* project in Visual Studio.\n2. Open the Package Manager, select the package source **nuget.org** , and add the following packages:\n - `Google.Apis.AndroidProvisioningPartner.v1`\n - `Google.Apis.Auth`\n\nTo learn more, read the Microsoft document [Install and use a\npackage](https://docs.microsoft.com/en-us/nuget/quickstart/use-a-package).\n\nStep 3: Set up the sample\n-------------------------\n\n1. Drag the `service_account_key.json` you downloaded when you created your service account into your Visual Studio Solution Explorer.\n2. Select `service_account_key.json`, and then go to the Properties window and set **Copy to output directory** field to *Always copy*.\n3. Replace the contents of `Program.cs` with the following code:\n\n```c#\nusing Google.Apis.AndroidProvisioningPartner.v1;\nusing Google.Apis.AndroidProvisioningPartner.v1.Data;\nusing Google.Apis.Auth.OAuth2;\nusing Google.Apis.Services;\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Threading;\n\nnamespace ZeroTouchCustomerQuickstart\n{\n class Program\n {\n // A single scope is used for the zero-touch enrollment customer API.\n static readonly string[] Scopes =\n { \"https://www.googleapis.com/auth/androidworkzerotouchemm\" };\n static string ApplicationName = \"Zero-touch Enrollment .NET Quickstart\";\n\n static void Main(string[] args)\n {\n GoogleCredential credential;\n\n // Authenticate using the service account key\n credential = GoogleCredential.FromFile(\"service_account_key.json\")\n .CreateScoped(Scopes);\n\n // Create a zero-touch enrollment API service endpoint.\n var service = new AndroidProvisioningPartnerService(new BaseClientService.Initializer\n {\n HttpClientInitializer = credential,\n ApplicationName = ApplicationName\n });\n\n // Get the customer's account. Because a customer might have more\n // than one, limit the results to the first account found.\n CustomersResource.ListRequest accountRequest = service.Customers.List();\n accountRequest.PageSize = 1;\n CustomerListCustomersResponse accountResponse = accountRequest.Execute();\n if (accountResponse.Customers.Count == 0)\n {\n // No accounts found for the user. Confirm the Google Account\n // that authorizes the request can access the zero-touch portal.\n Console.WriteLine(\"No zero-touch enrollment account found.\");\n Environment.Exit(-1);\n }\n Company customer = accountResponse.Customers[0];\n var customerAccount = String.Format(\"customers/{0}\", customer.CompanyId);\n\n\n // Send an API request to list all the DPCs available.\n CustomersResource.DpcsResource.ListRequest request = service.Customers.Dpcs.\n List(customerAccount);\n CustomerListDpcsResponse response = request.Execute();\n\n // Print out the details of each DPC.\n IList\u003cDpc\u003e dpcs = response.Dpcs;\n foreach (Dpc dpcApp in dpcs)\n {\n Console.WriteLine(\"Name:{0} APK:{1}\",\n dpcApp.DpcName,\n dpcApp.PackageName);\n }\n\n }\n }\n}\n```\n\nStep 4: Run the sample\n----------------------\n\nTo build and run the sample, click play_arrow **Start** in the Visual Studio toolbar.\n\nNotes\n-----\n\n- Avoid sharing your `service_account_key.json` file with anyone. Be careful not to include it in source code repositories. You can read more advice on [handling service account secrets](https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys).\n\nLearn more\n----------\n\n- [Google Developers Console help documentation](/console/help/new)\n- [Google API Client Library for .NET\n documentation](/api-client-library/dotnet)"]]