お客様向け .NET クイックスタート

このクイックスタート ガイドの手順に沿って操作すると、サービス アカウントを使用してゼロタッチ登録のカスタマー API にリクエストを行うシンプルな .NET C# コンソール アプリが約 10 分で作成されます。

前提条件

このクイックスタートを実行するには、以下のものが必要です。

  • ゼロタッチ登録のお客様のアカウントにリンクされているサービス アカウント。詳しくは、 開始されました
  • Visual Studio 2013 以降。
  • インターネット アクセスとウェブブラウザ。

ステップ 1: ゼロタッチ登録 API を有効にする

  1. こちらの ウィザードを使用して、Google Developers Console でプロジェクトを作成または選択し、 API が自動的に有効になります。[続行] をクリックし、[認証情報に進む] をクリックします。
  2. [アクセスするデータの種類] を [アプリケーション データ] に設定します。
  3. [次へ] をクリックします。サービス アカウントの作成を求めるメッセージが表示されます。
  4. [サービス アカウント名] にわかりやすい名前を付けます。
  5. 後で使用するため、サービス アカウント ID(メールアドレスに似ています)をメモしておきます。
  6. [Role] を [Service Accounts >] に設定します。サービス アカウント ユーザー
  7. [完了] をクリックして、サービス アカウントの作成を完了します。
  8. 作成したサービス アカウントのメールアドレスをクリックします。
  9. [**鍵**] をクリックします。
  10. [**鍵を追加**] をクリックし、[**新しい鍵を作成**] をクリックします。
  11. [キーのタイプ] で [JSON] を選択します。
  12. [作成] をクリックすると、秘密鍵がパソコンにダウンロードされます。
  13. [閉じる] をクリックします。
  14. ファイルを作業ディレクトリに移動し、名前を service_account_key.json に変更します。

ステップ 2: プロジェクトを準備する

  1. Visual Studio で新しい .NET Core C# コンソール アプリケーション プロジェクトを作成します。
  2. パッケージ マネージャーを開き、パッケージ ソース nuget.org を選択し、次のパッケージを追加します。
    • Google.Apis.AndroidProvisioningPartner.v1
    • Google.Apis.Auth

詳細については、Microsoft のドキュメント「 パッケージ

ステップ 3: サンプルをセットアップする

  1. 作成時にダウンロードしたservice_account_key.jsonをドラッグ サービス アカウントを Visual Studio Solution Explorer にインポートします。
  2. [service_account_key.json] を選択し、[プロパティ] ウィンドウに移動して [Copy to output directory] フィールドを [Always copy] に設定します。
  3. 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 ファイルは他のユーザーと共有しないでください。ご注意ください ソースコード リポジトリに含めないようにする必要があります。詳しくは、このモジュールの サービス アカウントのシークレットの処理をご覧ください。

その他の情報