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 和管理 > 服务帐号

    进入“服务账号”

  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 和管理 > 服务帐号

    进入“服务账号”

  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);