Java 快速入門導覽課程

快速入門導覽課程說明如何設定及執行呼叫 Google Workspace API 的應用程式。

Google Workspace 快速入門導覽課程使用 API 用戶端程式庫處理驗證和授權流程的一些詳細資料。建議您在自己的應用程式中使用用戶端程式庫。本快速入門導覽課程採用適用於測試環境的簡化驗證方法。如果是實際工作環境,建議先瞭解驗證與授權,再選擇適合應用程式的存取憑證

Google Workspace 管理員可以使用 Alert Center API 存取相關快訊,以掌握影響網域的問題。

目標

  • 設定環境。
  • 設定並執行範例。

必要條件

設定環境

啟用 API

使用 Google API 前,您必須在 Google Cloud 專案中啟用 API。您可以在單一 Google Cloud 專案中啟用一或多個 API。
  • 在 Google Cloud 控制台中啟用 Alert Center API。

    啟用 API

建立服務帳戶

服務帳戶是應用程式 (而非使用者) 使用的特殊帳戶。您可以使用服務帳戶存取機器人帳戶的資料或執行操作,或是代表 Google Workspace 或 Cloud Identity 使用者存取資料。詳情請參閱瞭解服務帳戶一文。

Google Cloud 控制台

  1. 在 Google Cloud 控制台中,依序點選「選單」圖示 >「IAM 與管理」>「服務帳戶」

    前往「Service Accounts」(服務帳戶)

  2. 按一下「建立服務帳戶」
  3. 填寫服務帳戶詳細資料,然後按一下「建立並繼續」
  4. 選用:為服務帳戶指派角色,即可授予 Google Cloud 專案資源的存取權。詳情請參閱授予、變更及撤銷資源的存取權
  5. 點選「繼續」
  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 與管理」>「服務帳戶」

    前往「Service Accounts」(服務帳戶)

  2. 選取您的服務帳戶。
  3. 依序按一下「金鑰」>「新增金鑰」>「建立新的金鑰」
  4. 選取「JSON」,然後按一下「Create」(建立)

    系統會產生一組新的公開/私密金鑰,並以新檔案的形式下載到您的電腦。將下載的 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);