このクイックスタート ガイドの手順に沿って操作すると、サービス アカウントを使用してゼロタッチ登録のカスタマー API にリクエストを行うシンプルな .NET C# コンソール アプリが約 10 分で作成されます。
前提条件
このクイックスタートを実行するには、以下のものが必要です。
- ゼロタッチ登録のお客様のアカウントにリンクされているサービス アカウント。詳しくは、 開始されました。
- Visual Studio 2013 以降。
- インターネット アクセスとウェブブラウザ。
ステップ 1: ゼロタッチ登録 API を有効にする
- こちらの ウィザードを使用して、Google Developers Console でプロジェクトを作成または選択し、 API が自動的に有効になります。[続行] をクリックし、[認証情報に進む] をクリックします。 。
- [アクセスするデータの種類] を [アプリケーション データ] に設定します。
- [次へ] をクリックします。サービス アカウントの作成を求めるメッセージが表示されます。
- [サービス アカウント名] にわかりやすい名前を付けます。
- 後で使用するため、サービス アカウント ID(メールアドレスに似ています)をメモしておきます。
- [Role] を [Service Accounts >] に設定します。サービス アカウント ユーザー。
- [完了] をクリックして、サービス アカウントの作成を完了します。
- 作成したサービス アカウントのメールアドレスをクリックします。
- [**鍵**] をクリックします。
- [**鍵を追加**] をクリックし、[**新しい鍵を作成**] をクリックします。
- [キーのタイプ] で [JSON] を選択します。
- [作成] をクリックすると、秘密鍵がパソコンにダウンロードされます。
- [閉じる] をクリックします。
- ファイルを作業ディレクトリに移動し、名前を
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
] を選択し、[プロパティ] ウィンドウに移動して [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 ツールバーの
[開始] をクリックします。メモ
service_account_key.json
ファイルは他のユーザーと共有しないでください。ご注意ください ソースコード リポジトリに含めないようにする必要があります。詳しくは、このモジュールの サービス アカウントのシークレットの処理をご覧ください。