将 Google Chat 聊天室设为可供 Google Workspace 组织中的特定用户检测到

本页介绍了如何使用 Google Chat API 与 Google Workspace 组织中的特定用户共享 Google Chat 聊天室,以便他们可以发现并加入该聊天室。

如需指定组织中可以发现和加入聊天室的用户,您可以创建目标对象群组。目标对象群组是指一组人(例如特定部门或整个组织),您可以与他们共享 Chat 聊天室,以提高聊天室的知名度和可共享性。借助目标对象群组,您还可以管理和自定义聊天室成员资格,而无需邀请个别用户加入聊天室。如需了解详情,请参阅目标对象群组 简介

您只能将命名聊天室设置为对目标对象群组可见。您无法与其他类型的聊天室(例如私信或群组对话)共享目标对象群组。

前提条件

获取目标对象群组 ID

如需获取目标对象群组的 ID,请执行以下操作:

  1. 在 Google 管理控制台中,依次点击 菜单 > 目录 > 目标对象群组

    前往目标对象群组

  2. 目标对象群组 表格中,点击目标对象群组的名称 字段。

  3. 在页面的网址中找到目标对象群组 ID。网址格式为 https://admin.google.com/ac/targetaudiences/TARGET_AUDIENCE_ID,其中 TARGET_AUDIENCE_ID 是目标对象群组的字母数字 ID。

在下一部分中,您将使用目标对象群组 ID 创建开放型聊天室,或更新现有聊天室以使其对目标对象群组可见。

指定目标对象群组和精细权限

如需创建具有特定访问权限的聊天室,请对 Space资源使用 createsetup方法。如需更新现有聊天室的权限,请使用 update 方法。由于只有命名聊天室可以与目标对象群组共享,因此聊天室类型(在 spaceType 字段中表示)必须为 SPACE

如需指定谁可以发现或加入聊天室,请在 Space 资源中添加 AccessSettings 对象。在该对象中,使用 accessPermissionSettings 字段指定以下一项或多项权限:

  • 可发现:使用 discoverSpaceSetting 定义谁可以在 Google Chat 中查找聊天室的名称 和说明并进行浏览。您可以为发现指定多个目标对象群组。
  • 可加入:使用 joinSpaceSetting 定义谁可以在没有 明确邀请的情况下加入聊天室并预览聊天室消息。可以加入聊天室的用户也必须能够发现该聊天室。Google Chat 支持为此权限指定单个目标对象群组。

以下示例展示了如何设置聊天室,让两个目标对象群组能够发现此聊天室,但只有其中一个群组可以加入:

  "accessSettings": {
    "accessPermissionSettings": {
      "discoverSpaceSetting": {
        "principals": [
          { "audience": { "name": "audiences/TARGET_AUDIENCE_ID_1" } },
          { "audience": { "name": "audiences/TARGET_AUDIENCE_ID_2" } }
        ]
      },
      "joinSpaceSetting": {
        "principals": [
          { "audience": { "name": "audiences/TARGET_AUDIENCE_ID_1" } }
        ]
      }
    }
  }

TARGET_AUDIENCE_ID_1TARGET_AUDIENCE_ID_2 替换为在 获取目标对象群组 ID中获取的目标 对象群组的 ID。如需为您的 Google Workspace 组织使用默认的 Chat 聊天室共享设置,请将替换为 default

为了实现向后兼容性,请使用 audience 字段

为了实现向后兼容性,您可以继续使用 audience 字段来 指定可以加入聊天室的单个目标对象群组,但我们建议您改用 指定目标对象群组和精细权限

设置 audience 字段相当于在 joinSpaceSettingdiscoverSpaceSetting 中同时指定目标对象群组:

  "accessSettings": {
    "audience": "audiences/TARGET_AUDIENCE_ID"
  }

TARGET_AUDIENCE_ID 替换为在 获取目标对象群组 ID中获取的目标对象群组的 ID。 如需为您的 Google Workspace 组织使用默认的 Chat 聊天室共享设置,请将替换为 default

了解 API 响应中的访问权限设置

当您获取聊天室时,响应中的 AccessSettings 对象会反映为聊天室设置的精细权限。

AccessSettings 中的以下字段表示聊天室的可搜索性和加入权限:

  • accessState:派生自发现权限 (discoverSpaceSetting)。如果向一个或多个目标对象群组授予了发现权限,则此字段为 DISCOVERABLE。否则,该字段为 PRIVATE
  • audience:专门映射到加入权限 (joinSpaceSetting)。如果向单个目标对象群组授予了加入权限,则此字段包含该目标对象群组的资源名称。

可发现但没有加入受众群体的聊天室

聊天室可能对目标对象群组可见,但无法直接加入(例如,如果用户必须受到明确邀请才能加入)。

在这种情况下,AccessSettings 对象具有以下值:

  • accessStateDISCOVERABLE
  • audience:省略或 null

如果您看到 accessState 设置为 DISCOVERABLE,但 audience 不存在,则表示聊天室可以被 discoverSpaceSetting 中指定的目标对象群组发现,但只能通过邀请加入。如需查看哪些 目标对象群组可以发现聊天室,请检查 accessPermissionSettings.discoverSpaceSetting 字段。

如需详细了解目标对象群组,请参阅以下指南:

如需详细了解如何使用 Chat API 创建或更新聊天室,请参阅以下指南: