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,
  "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

可选。聊天室是否为聊天应用与单个用户之间的私信。

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

可选。相应聊天室是否是在 Import Mode 中创建的,作为数据迁移到 Google Workspace 的一部分。在导入聊天室期间,用户在导入完成之前无法看到聊天室。

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。

importModeExpireTime

string (Timestamp format)

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

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

此字段仅针对以导入模式创建的聊天室进行填充。

customer

string

可选。不可变。相应聊天室所属网域的客户 ID。仅在创建具有应用身份验证SpaceTypeSPACE 的聊天室时是必需的,否则不应设置。

格式为 customers/{customer},其中 customerAdmin SDK 客户资源中的 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

创建空间并将指定用户添加到该空间。