販売パートナー向け .NET クイックスタート

このクイックスタート ガイドの手順に沿って、ゼロタッチ登録リセラー API にリクエストを行うシンプルな .NET C# コンソール アプリを作成します。所要時間は約 10 分です。

前提条件

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

  • ゼロタッチ登録販売パートナー アカウントのメンバーである Google アカウント。まだオンボーディングを開始していない場合は、販売パートナー ポータル ガイドスタートガイドの手順に沿って操作してください。
  • Visual Studio 2013 以降。
  • インターネット アクセスとウェブブラウザ。

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

  1. このウィザードを使用して、Google Developers Console でプロジェクトを作成または選択し、API を自動的に有効にします。[続行]、[認証情報に進む] の順にクリックします。
  2. [アクセスするデータの種類] を [アプリケーション データ] に設定します。
  3. [次へ] をクリックします。サービス アカウントを作成するよう求められます。
  4. [サービス アカウント名] にわかりやすい名前を付けます。
  5. 後で使用するため、サービス アカウント ID(メールアドレスのようなもの)をメモしておきます。
  6. [ロール] を [サービス アカウント] > [サービス アカウント ユーザー] に設定します。
  7. [完了] をクリックして、サービス アカウントの作成を完了します。
  8. 作成したサービス アカウントのメールアドレスをクリックします。
  9. [キー] をクリックします。
  10. [**鍵を追加**] をクリックし、[**新しい鍵を作成**] をクリックします。
  11. [**鍵のタイプ**] で [**JSON**] を選択します。
  12. [作成] をクリックすると、秘密鍵がパソコンにダウンロードされます。
  13. [閉じる] をクリックします。
  14. ファイルを作業ディレクトリに移動し、名前を service_account_key.json に変更します。
  1. ゼロタッチ登録ポータルを開きます。ログインが必要となる場合があります。
  2. [サービス アカウント] をクリックします。
  3. [サービス アカウントをリンク] をクリックします。
  4. [メールアドレス] に、作成したサービス アカウントのアドレスを設定します。
  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 でダウンロードしたファイル)を Visual Studio ソリューション エクスプローラにドラッグします。
  2. service_account_key.json を選択し、[プロパティ] ウィンドウに移動して、[出力ディレクトリにコピー] フィールドを [常にコピー] に設定します。
  3. Program.cs の内容を次のコードに置き換えます。
  4. 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 を確認する手順は次のとおりです。

  1. ポータルを開きます。ログインが必要となる場合があります。
  2. [サービス アカウント] をクリックします。
  3. [販売パートナー ID] 行からパートナー ID 番号をコピーします。

ステップ 5: サンプルを実行する

サンプルをビルドして実行するには、Visual Studio ツールバーの [開始] をクリックします。

トラブルシューティング

クイックスタートで問題が発生した場合は、お知らせください。修正に向けて取り組みます。ゼロタッチでサービス アカウントを使用して API 呼び出しを認可する方法については、認可をご覧ください。

その他の情報