Java 快速入门

快速入门介绍了如何设置和运行调用 Google Workspace API 的应用。

Google Workspace 快速入门使用 API 客户端库来处理身份验证和授权流程的一些细节。我们建议您为自己的应用使用客户端库。本快速入门使用适合测试环境的简化身份验证方法。对于生产环境,我们建议您先了解身份验证和授权,然后再选择适合您的应用的访问凭据

作为 Google Workspace 管理员,您可以使用 Alert Center API 访问影响您网域的问题的提醒。

目标

  • 设置环境。
  • 设置并运行示例。

前提条件

设置环境

启用 API

在使用 Google API 之前,您需要先在 Google Cloud 项目中启用它们。您可以在单个 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);