REST Resource: spaces

资源:聊天室

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,
  "importModeExpireTime": 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 应用中的私信聊天室,聊天室是由 Google Workspace 管理员创建的。管理员可以代表贵组织中的用户安装 Chat 应用并设置私信功能。

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

membershipCount

object (MembershipCount)

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

accessSettings

object (AccessSettings)

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

spaceUri

string

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

importModeExpireTime

string (Timestamp format)

仅限输出。如果聊天室仍处于导入模式,系统会在该时间自动将其删除。

在导入模式下创建的每个聊天室都必须在到期时间之前使用 spaces.completeImport 退出此模式。

系统仅会为使用导入模式创建的聊天室填充此字段。

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 应用之间的 1 对 1 消息。

SpaceThreadingState

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

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

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

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