本页介绍了如何使用 Google Chat API 与 Google Workspace 组织中的特定用户共享 Google Chat 聊天室,以便他们可以发现并加入该聊天室。
如需指定组织中可以发现和加入聊天室的用户,您可以创建目标对象群组。目标对象群组是指一组人(例如特定部门或整个组织),您可以与他们共享 Chat 聊天室,以提高聊天室的知名度和可共享性。借助目标对象群组,您还可以管理和自定义聊天室成员资格,而无需邀请个别用户加入聊天室。如需了解详情,请参阅目标对象群组 简介。
您只能将命名聊天室设置为对目标对象群组可见。您无法与其他类型的聊天室(例如私信或群组对话)共享目标对象群组。
前提条件
- 拥有 Google Chat 访问权限的 Business 或 Enterprise Google Workspace 账号。您的 账号必须具有 超级管理员 角色 才能管理您的 Google Workspace 组织。
- 可在 Chat 中访问的目标对象群组。如需 创建目标对象群组,请参阅创建目标对象 群组。如需让现有 目标对象群组可用于 Chat 聊天室,请参阅 为 Chat 设置聊天室访问权限。
- 您必须调用 Google Chat API,并进行 用户身份验证。
获取目标对象群组 ID
如需获取目标对象群组的 ID,请执行以下操作:
在 Google 管理控制台中,依次点击 菜单 > 目录 > 目标对象群组。
在目标对象群组 表格中,点击目标对象群组的名称 字段。
在页面的网址中找到目标对象群组 ID。网址格式为
https://admin.google.com/ac/targetaudiences/TARGET_AUDIENCE_ID,其中TARGET_AUDIENCE_ID是目标对象群组的字母数字 ID。
在下一部分中,您将使用目标对象群组 ID 创建开放型聊天室,或更新现有聊天室以使其对目标对象群组可见。
指定目标对象群组和精细权限
如需创建具有特定访问权限的聊天室,请对
Space资源使用
create或
setup方法。如需更新现有聊天室的权限,请使用
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_1 和
TARGET_AUDIENCE_ID_2 替换为在
获取目标对象群组 ID中获取的目标
对象群组的 ID。如需为您的 Google Workspace 组织使用默认的 Chat 聊天室共享设置,请将替换为 default。
为了实现向后兼容性,请使用 audience 字段
为了实现向后兼容性,您可以继续使用 audience 字段来
指定可以加入聊天室的单个目标对象群组,但我们建议您改用
指定目标对象群组和精细权限。
设置 audience 字段相当于在 joinSpaceSetting 和 discoverSpaceSetting 中同时指定目标对象群组:
"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 对象具有以下值:
accessState:DISCOVERABLEaudience:省略或null
如果您看到 accessState 设置为 DISCOVERABLE,但 audience 不存在,则表示聊天室可以被 discoverSpaceSetting 中指定的目标对象群组发现,但只能通过邀请加入。如需查看哪些
目标对象群组可以发现聊天室,请检查
accessPermissionSettings.discoverSpaceSetting
字段。
相关主题
如需详细了解目标对象群组,请参阅以下指南:
如需详细了解如何使用 Chat API 创建或更新聊天室,请参阅以下指南: