REST Resource: spaces

资源:Space

Google Chat 中的聊天室。聊天室是两位或多位用户之间的对话,或用户与 Chat 应用之间的一对一消息。

JSON 表示法
{
  "name": string,
  "type": enum (Type),
  "spaceType": enum (SpaceType),
  "singleUserBotDm": boolean,
  "threaded": boolean,
  "displayName": string,
  "externalUserAllowed": boolean,
  "spaceThreadingState": enum (SpaceThreadingState),
  "spaceDetails": {
    object (SpaceDetails)
  },
  "spaceHistoryState": enum (HistoryState),
  "importMode": boolean,
  "createTime": string,
  "lastActiveTime": string,
  "adminInstalled": boolean,
  "membershipCount": {
    object (MembershipCount)
  },
  "accessSettings": {
    object (AccessSettings)
  },
  "spaceUri": string,
  "customer": string,

  // Union field space_permission_settings can be only one of the following:
  "predefinedPermissionSettings": enum (PredefinedPermissionSettings),
  "permissionSettings": {
    object (PermissionSettings)
  }
  // End of list of possible types for union field space_permission_settings.
}
字段
name

string

聊天室的资源名称。

格式:spaces/{space}

其中 {space} 表示聊天室的系统分配 ID。您可以通过调用 spaces.list() 方法或从聊天室网址获取聊天室 ID。例如,如果聊天室网址为 https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA,则聊天室 ID 为 AAAAAAAAA

type
(deprecated)

enum (Type)

仅限输出。已弃用:请改用 spaceType。聊天室的类型。

spaceType

enum (SpaceType)

聊天室的类型。创建聊天室或更新聊天室的聊天室类型时必填。仅限输出,用于其他用途。

singleUserBotDm

boolean

可选。聊天室是否为 Chat 应用和单人之间的直接消息。

threaded
(deprecated)

boolean

仅限输出。已弃用:请改用 spaceThreadingState。此聊天室中消息是否会以话题形式显示。

displayName

string

聊天室的显示名称。创建 spaceTypeSPACE 的聊天室时为必填项。如果您在创建聊天室或更新 displayName 时收到错误消息 ALREADY_EXISTS,请尝试使用其他 displayName。Google Workspace 组织中的现有聊天室可能已经在使用此显示名称。

对于私信,此字段可能为空。

最多支持 128 个字符。

externalUserAllowed

boolean

不可变。此聊天室是否允许任何 Google Chat 用户成为成员。在 Google Workspace 组织中创建聊天室时输入内容。在以下情况下创建聊天室时,请省略此字段:

  • 已验证身份的用户使用的是个人账号(不受管理的用户账号)。默认情况下,由个人账号创建的聊天室允许所有 Google Chat 用户创建聊天室。

对于现有聊天室,此字段仅为输出内容。

spaceThreadingState

enum (SpaceThreadingState)

仅限输出。Chat 聊天室中的消息串状态。

spaceDetails

object (SpaceDetails)

聊天室的详细信息,包括说明和规则。

spaceHistoryState

enum (HistoryState)

此聊天室中的消息和消息串的消息记录状态。

importMode

boolean

可选。此聊天室是在将数据迁移到 Google Workspace 的过程中在Import Mode中创建的。在导入聊天室时,用户将看不到这些聊天室,直到导入完成为止。

Import Mode 中创建聊天室需要用户身份验证

createTime

string (Timestamp format)

可选。不可变。对于在 Chat 中创建的聊天室,该值为聊天室的创建时间。此字段仅输出,但在“导入模式聊天室”中使用时除外。

对于“导入”模式的聊天室,请将此字段设置为在来源中创建聊天室时的历史时间戳,以保留原始创建时间。

仅当 spaceTypeGROUP_CHATSPACE 时,才在输出中填充。

lastActiveTime

string (Timestamp format)

仅限输出。聊天室中最后一条消息的时间戳。

adminInstalled

boolean

仅限输出。对于包含 Chat 应用的私信 (DM) 聊天室,该聊天室是否由 Google Workspace 管理员创建。管理员可以代表贵组织中的用户安装 Chat 应用并设置私信功能。

如需支持管理员安装,您的 Chat 应用必须支持私信功能。

membershipCount

object (MembershipCount)

仅限输出。已加入的会员资格数量(按会员类型分组)。当 spaceTypeSPACEDIRECT_MESSAGEGROUP_CHAT 时填充。

accessSettings

object (AccessSettings)

可选。指定聊天室的访问权限设置。仅当 spaceTypeSPACE 时填充。

spaceUri

string

仅限输出。用户访问聊天室的 URI。

customer

string

可选。不可变。聊天室网域的客户 ID。仅当通过应用身份验证创建聊天室且 SpaceTypeSPACE 时才需要设置,否则不应设置。

格式为 customers/{customer},其中 customer 是 [Admin SDK 客户资源](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers) 中的 id。专用应用还可以使用 customers/my_customer 别名在与应用所在的 Google Workspace 组织相同的组织中创建聊天室。

对于私信,此字段不会填充内容。

联合字段 space_permission_settings。表示聊天室的权限设置。仅当 space_typeSPACE 时填充。

要求进行用户身份验证space_permission_settings 只能是下列其中一项:

predefinedPermissionSettings

enum (PredefinedPermissionSettings)

可选。仅限输入。预定义的聊天室权限设置,只能在创建聊天室时输入。如果未设置此字段,系统会创建一个协作聊天室。创建聊天室后,系统会在 PermissionSettings 字段中填充设置。

permissionSettings

object (PermissionSettings)

可选。现有聊天室的聊天室权限设置。输入字段,用于更新确切的聊天室权限设置,其中现有权限设置会被替换。输出列出了当前权限设置。

类型

已弃用:请改用 SpaceType

枚举
TYPE_UNSPECIFIED 已预订。
ROOM 两人或多人之间的对话。
DM 真人与 Chat 应用之间的一对一私信,所有消息均为平面消息。请注意,这不包括两个人之间的私信。

SpaceType

聊天室的类型。创建或更新聊天室时必须指定此属性。仅限输出,用于其他用途。

枚举
SPACE_TYPE_UNSPECIFIED 预留。
SPACE 用户可在其中发送消息、共享文件和开展协作。SPACE 可包含 Chat 扩展应用。
GROUP_CHAT 3 人或更多人的群组对话。GROUP_CHAT 可以包含 Chat 应用。
DIRECT_MESSAGE 两个人或一个人和一个 Chat 应用之间的一对一消息。

SpaceThreadingState

指定 Chat 聊天室中的会话状态类型。

枚举
SPACE_THREADING_STATE_UNSPECIFIED 已预订。
THREADED_MESSAGES 支持消息串的已命名聊天室。用户回复消息时,可以进行会话内回复,这样他们的回复就会保留在原始消息的上下文中。
GROUPED_MESSAGES 按主题整理对话的命名聊天室。系统会将主题及其回复分组。
UNTHREADED_MESSAGES 两人之间的私信 (DM),以及三人或多人之间的群组对话。

SpaceDetails

聊天室的详细信息,包括说明和规则。

JSON 表示法
{
  "description": string,
  "guidelines": string
}
字段
description

string

可选。聊天室的说明。例如,描述聊天室的讨论主题、功能用途或参与者。

最多支持 150 个字符。

guidelines

string

可选。空间的规则、预期和礼仪。

最多支持 5,000 个字符。

HistoryState

消息和聊天室的聊天记录状态。指定消息和对话会话在创建后保留多长时间。

枚举
HISTORY_STATE_UNSPECIFIED 默认值。请勿使用。
HISTORY_OFF 聊天记录功能处于关闭状态。消息和会话会保留 24 小时
HISTORY_ON 聊天记录功能已开启。组织的 Vault 保留规则会指定邮件和会话保留的时长。

MembershipCount

表示聊天室的成员数量(按类别分组)。

JSON 表示法
{
  "joinedDirectHumanUserCount": integer,
  "joinedGroupCount": integer
}
字段
joinedDirectHumanUserCount

integer

直接加入聊天室的真人用户数,不包括因加入聊天室所属群组而加入的用户。

joinedGroupCount

integer

直接加入聊天室的所有群组的数量。

AccessSettings

表示聊天室的访问权限设置

JSON 表示法
{
  "accessState": enum (AccessState),
  "audience": string
}
字段
accessState

enum (AccessState)

仅限输出。指示聊天室的访问状态。

audience

string

可选。可以发现聊天室、加入聊天室以及预览聊天室中消息的目标对象群组的资源名称。如果未设置,则只有被单独邀请或添加到聊天室的用户或 Google 群组才能访问该聊天室。有关详情,请参阅让目标对象群组能够发现聊天室

格式:audiences/{audience}

如需使用 Google Workspace 组织的默认目标对象群组,请将其设置为 audiences/default

读取目标对象群组支持:

chat.bot 范围与应用身份验证搭配使用时,系统不会填充此字段。

设置目标对象群组需要进行用户身份验证

AccessState

表示聊天室的访问状态。

枚举
ACCESS_STATE_UNSPECIFIED 此 API 中的访问权限状态未知或不受支持。
PRIVATE 只有由其他用户或 Google Workspace 管理员单独添加或邀请的用户或 Google 群组可以发现和访问该聊天室。
DISCOVERABLE

聊天室管理员已向目标对象群组授予聊天室的访问权限。已单独添加或受邀加入聊天室的用户或 Google 群组也可以发现和访问该聊天室。如需了解详情,请参阅将聊天室设为可供特定用户搜索

创建可供搜索的聊天室需要进行用户身份验证

PredefinedPermissionSettings

预定义的权限设置,您只能在创建命名聊天室时指定。我们将来可能会添加更多设置。如需详细了解已命名聊天室的权限设置,请参阅了解聊天室

枚举
PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED 未指定。请勿使用。
COLLABORATION_SPACE 将聊天室设为协作聊天室,以便所有成员都可以发帖。
ANNOUNCEMENT_SPACE 此设置用于将聊天室设为通知聊天室,只有聊天室管理员可以在其中发布消息。

PermissionSettings

您在更新现有命名空间时可以指定的权限设置

如需在创建聊天室时设置权限设置,请在请求中指定 PredefinedPermissionSettings 字段。

JSON 表示法
{
  "manageMembersAndGroups": {
    object (PermissionSetting)
  },
  "modifySpaceDetails": {
    object (PermissionSetting)
  },
  "toggleHistory": {
    object (PermissionSetting)
  },
  "useAtMentionAll": {
    object (PermissionSetting)
  },
  "manageApps": {
    object (PermissionSetting)
  },
  "manageWebhooks": {
    object (PermissionSetting)
  },
  "postMessages": {
    object (PermissionSetting)
  },
  "replyMessages": {
    object (PermissionSetting)
  }
}
字段
manageMembersAndGroups

object (PermissionSetting)

此设置用于管理聊天室中的成员和群组。

modifySpaceDetails

object (PermissionSetting)

用于更新聊天室名称、头像、说明和指南的设置。

toggleHistory

object (PermissionSetting)

用于开启或关闭聊天室历史记录的设置。

useAtMentionAll

object (PermissionSetting)

用于在聊天室中使用“@所有人”的设置。

manageApps

object (PermissionSetting)

此设置用于在聊天室中管理应用。

manageWebhooks

object (PermissionSetting)

用于管理聊天室中网络钩子的设置。

postMessages

object (PermissionSetting)

仅限输出。用于在聊天室中发送消息的设置。

replyMessages

object (PermissionSetting)

用于在聊天室中回复消息的设置。

PermissionSetting

表示聊天室权限设置。

JSON 表示法
{
  "managersAllowed": boolean,
  "membersAllowed": boolean
}
字段
managersAllowed

boolean

聊天室管理员是否拥有此权限。

membersAllowed

boolean

非管理员成员是否拥有此权限。

方法

completeImport

完成指定聊天室的导入流程,并使其对用户可见。

create

创建没有任何成员的聊天室。

delete

删除已命名的聊天室。

findDirectMessage

返回与指定用户的现有私信。

get

返回聊天室的相关详细信息。

list

列出调用方所属的聊天室。

patch

更新聊天室。
根据管理员的搜索返回 Google Workspace 组织中的聊天室列表。

setup

创建聊天室并向其中添加指定用户。