Java のクイックスタート

クイックスタートでは、Google Workspace API を呼び出すアプリを設定して実行する方法について説明します。

Google Workspace クイックスタートでは、API クライアント ライブラリを使用して認証と認可のフローの詳細を処理します。独自のアプリでは、クライアント ライブラリを使用することをおすすめします。このクイックスタートでは、テスト環境に適した簡素化された認証方法を使用します。本番環境では、アプリに適したアクセス認証情報を選択する前に、認証と認可について確認することをおすすめします。

Google Workspace 管理者は、Alert Center API を使用して、ドメインに影響する問題に関するアラートにアクセスできます。

目標

  • 環境を設定する。
  • サンプルをセットアップして実行します。

前提条件

環境を設定する

API を有効にする

Google API を使用するには、事前に Google Cloud プロジェクトで API を有効にする必要があります。1 つの Google Cloud プロジェクトで 1 つ以上の API を有効にできます。

サービス アカウントを作成する

サービス アカウントは、ユーザーではなく、アプリケーションで使用される特別なアカウントです。サービス アカウントを使用すると、ロボット アカウントによるデータへのアクセスやアクションの実行、Google Workspace や Cloud Identity のユーザーに代わってデータにアクセスすることができます。詳細については、サービス アカウントについてをご覧ください。

Google Cloud コンソール

  1. Google Cloud コンソールで、メニュー > [IAM と管理] > [サービス アカウント] に移動します。

    [サービス アカウント] に移動

  2. [サービス アカウントを作成] をクリックします。
  3. サービス アカウントの詳細を入力し、[作成して続行] をクリックします。
  4. (省略可)サービス アカウントにロールを割り当てて、Google Cloud プロジェクトのリソースへのアクセス権を付与します。詳細については、リソースへのアクセス権の付与、変更、取り消しをご覧ください。
  5. [Continue](続行)をクリックします。
  6. (省略可)このサービス アカウントでアクションを管理、実行できるユーザーまたはグループを入力します。詳しくは、サービス アカウントの権限借用の管理をご覧ください。
  7. [完了] をクリックします。サービス アカウントのメールアドレスをメモします。

gcloud CLI

  1. サービス アカウント
    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
      --display-name="SERVICE_ACCOUNT_NAME"
    を作成します。
  2. (省略可)サービス アカウントにロールを割り当てて、Google Cloud プロジェクトのリソースへのアクセス権を付与します。詳細については、リソースへのアクセス権の付与、変更、取り消しをご覧ください。

サービス アカウントの認証情報を作成する

公開鍵と秘密鍵のペアの形式で認証情報を取得する必要があります。これらの認証情報は、アプリ内のサービス アカウントのアクションを承認するためにコードによって使用されます。
  1. Google Cloud コンソールで、メニュー > [IAM と管理] > [サービス アカウント] に移動します。

    [サービス アカウント] に移動

  2. サービス アカウントを選択します。
  3. [] > [鍵を追加] > [新しい鍵を作成] をクリックします。
  4. [JSON] を選択し、[作成] をクリックします。

    新しい公開鍵と秘密鍵のペアが生成され、新しいファイルとしてパソコンにダウンロードされます。ダウンロードした JSON ファイルを credentials.json という名前で作業ディレクトリに保存します。この鍵の唯一のコピーです。鍵を安全に保管する方法については、サービス アカウント キーの管理をご覧ください。

  5. [閉じる] をクリックします。

サンプルを設定して実行する

  1. 認証情報を取得します。

    adminSDK/alertcenter/quickstart/src/main/java/AdminSDKAlertCenterQuickstart.java
    InputStream in = AdminSDKAlertCenterQuickstart.class.getResourceAsStream(CREDENTIALS_FILE_PATH);
    if (in == null) {
      throw new FileNotFoundException("Resource not found: " + CREDENTIALS_FILE_PATH);
    }
    GoogleCredentials credentials = ServiceAccountCredentials
        .fromStream(in)
        .createDelegated(delegatedAdminEmail)
        .createScoped(SCOPES);
  2. クライアントのインスタンスを作成します。

    adminSDK/alertcenter/quickstart/src/main/java/AdminSDKAlertCenterQuickstart.java
    NetHttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
    AlertCenter service = new AlertCenter.Builder(transport, JSON_FACTORY,
        new HttpCredentialsAdapter(getCredentials(DELEGATED_ADMIN_EMAIL)))
        .setApplicationName(APPLICATION_NAME)
        .build();
  3. すべてのアラートを表示:

    adminSDK/alertcenter/quickstart/src/main/java/AdminSDKAlertCenterQuickstart.java
    String pageToken = null;
    do {
      ListAlertsResponse listResponse = service.alerts().list().setPageToken(pageToken)
          .setPageSize(20).execute();
      if (listResponse.getAlerts() != null) {
        for (Alert alert : listResponse.getAlerts()) {
          System.out.println(alert);
        }
      }
      pageToken = listResponse.getNextPageToken();
    } while (pageToken != null);
  4. 特定のアラートに関するフィードバックを提供する:

    adminSDK/alertcenter/quickstart/src/main/java/AdminSDKAlertCenterQuickstart.java
    AlertFeedback newFeedback = new AlertFeedback();
    newFeedback.setType("VERY_USEFUL");
    AlertFeedback feedback = service.alerts().feedback().create(alertId, newFeedback).execute();
    System.out.println(feedback);