このクイックスタート ガイドの手順に沿って、ゼロタッチ登録リセラー API にリクエストを行うシンプルな .NET C# コンソール アプリを作成します。所要時間は約 10 分です。
前提条件
このクイックスタートを実行するには、次のものが必要です。
- ゼロタッチ登録販売パートナー アカウントのメンバーである Google アカウント。まだオンボーディングを開始していない場合は、販売パートナー ポータル ガイドのスタートガイドの手順に沿って操作してください。
- Visual Studio 2013 以降。
- インターネット アクセスとウェブブラウザ。
ステップ 1: ゼロタッチ登録 API を有効にする
- このウィザードを使用して、Google Developers Console でプロジェクトを作成または選択し、API を自動的に有効にします。[続行]、[認証情報に進む] の順にクリックします。
- [アクセスするデータの種類] を [アプリケーション データ] に設定します。
- [次へ] をクリックします。サービス アカウントを作成するよう求められます。
- [サービス アカウント名] にわかりやすい名前を付けます。
- 後で使用するため、サービス アカウント ID(メールアドレスのようなもの)をメモしておきます。
- [ロール] を [サービス アカウント] > [サービス アカウント ユーザー] に設定します。
- [完了] をクリックして、サービス アカウントの作成を完了します。
- 作成したサービス アカウントのメールアドレスをクリックします。
- [キー] をクリックします。
- [**鍵を追加**] をクリックし、[**新しい鍵を作成**] をクリックします。
- [**鍵のタイプ**] で [**JSON**] を選択します。
- [作成] をクリックすると、秘密鍵がパソコンにダウンロードされます。
- [閉じる] をクリックします。
- ファイルを作業ディレクトリに移動し、名前を
service_account_key.json
に変更します。
ステップ 2: サービス アカウントをリンクする
- ゼロタッチ登録ポータルを開きます。ログインが必要となる場合があります。
- [サービス アカウント] をクリックします。
- [ サービス アカウントをリンク] をクリックします。
- [メールアドレス] に、作成したサービス アカウントのアドレスを設定します。
- [サービス アカウントをリンク] をクリックして、ゼロタッチ登録アカウントでサービス アカウントを使用します。
ステップ 3: プロジェクトを準備する
- Visual Studio で新しい .NET Core C# コンソール アプリケーション プロジェクトを作成します。
- パッケージ マネージャーを開き、パッケージ ソース nuget.org を選択し、次のパッケージを追加します。
Google.Apis.AndroidProvisioningPartner.v1
Google.Apis.Auth
詳細については、Microsoft のドキュメント「パッケージをインストールして使用する」をご覧ください。
ステップ 4: サンプルを設定する
service_account_key.json
(ステップ 1 でダウンロードしたファイル)を Visual Studio ソリューション エクスプローラにドラッグします。service_account_key.json
を選択し、[プロパティ] ウィンドウに移動して、[出力ディレクトリにコピー] フィールドを [常にコピー] に設定します。Program.cs
の内容を次のコードに置き換えます。PartnerId
(アプリの最初の行)の値として、独自の販売パートナー ID を挿入します。
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 を確認する手順は次のとおりです。
- ポータルを開きます。ログインが必要となる場合があります。
- [サービス アカウント] をクリックします。
- [販売パートナー ID] 行からパートナー ID 番号をコピーします。
ステップ 5: サンプルを実行する
サンプルをビルドして実行するには、Visual Studio ツールバーの
[開始] をクリックします。トラブルシューティング
クイックスタートで問題が発生した場合は、お知らせください。修正に向けて取り組みます。ゼロタッチでサービス アカウントを使用して API 呼び出しを認可する方法については、認可をご覧ください。