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,

  "predefinedPermissionSettings": enum (PredefinedPermissionSettings),
  "permissionSettings": {
    object (PermissionSettings)
  }
}
字段
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

可选。空间的显示名称。当创建聊天室且 spaceType 为 SPACE 时,此参数为必需参数。如果您在创建聊天室或更新 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 中创建的聊天室,指聊天室的创建时间。此字段仅限输出,在导入模式空间中使用时除外。

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

仅当 spaceType 为 GROUP_CHAT 或 SPACE 时才会在输出中填充。

lastActiveTime

string (Timestamp format)

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

adminInstalled

boolean

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

为了支持管理员安装,您的 Chat 应用必须支持私信。

membershipCount

object (MembershipCount)

仅限输出。按会员类型分组的已加入会员资格的数量。当 spaceType 为 SPACE、DIRECT_MESSAGE 或 GROUP_CHAT 时填充。

accessSettings

object (AccessSettings)

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

spaceUri

string

仅限输出。用户访问空间的 URI。

importModeExpireTime

string (Timestamp format)

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

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

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

customer

string

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

格式为 customers/{customer},其中 customer 是 Admin SDK 客户资源中的 id。专用应用还可以使用 customers/my_customer 别名在与应用相同的 Google Workspace 组织中创建空间。

对于私信 (DM),或者当聊天室由非 Google Workspace 用户创建时,此字段不会填充。

表示聊天室的权限设置。仅当 space_type 为 SPACE 时填充。以下是互斥字段的列表。在响应中,最多只能设置一个字段:
predefinedPermissionSettings

enum (PredefinedPermissionSettings)

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

设置预定义的权限设置支持:

permissionSettings

object (PermissionSettings)

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

读取和更新权限设置支持:

互斥字段的结束位置。

类型

已弃用:请改用 SpaceType。

枚举
TYPE_UNSPECIFIED 已预留。
ROOM 两人或多人之间的对话。
DM 人与聊天应用之间的一对一私信,其中所有消息都是平铺的。请注意,这不包括两个人之间的私信。

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

不支持消息串式回复的聊天室。此空间线程状态仅用于特殊情况,包括:

  • 有意关闭了串联对话的常设会议群聊。
  • 2022 年之前创建的旧版群组对话。

SpaceDetails

有关空间的详细信息,包括说明和规则。

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

string

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

最多支持 150 个字符。

guidelines

string

可选。聊天室的规则、期望和礼仪。

最多支持 5,000 个字符。

HistoryState

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

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

MembershipCount

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

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

integer

仅限输出。直接加入聊天室的人类用户数量,不包括通过加入某个群组而加入聊天室的用户。

joinedGroupCount

integer

仅限输出。直接加入聊天室的所有群组的数量。

AccessSettings

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

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

enum (AccessState)

仅限输出。表示空间的访问状态。

audience

string

可选。可发现聊天室、加入聊天室并预览聊天室中消息的目标受众群体的资源名称。如果未设置,则只有被单独邀请或添加到聊天室的用户或 Google 群组可以访问该聊天室。如需了解详情,请参阅让聊天室对目标受众群体开放。

格式:audiences/{audience}

如需使用 Google Workspace 组织的默认目标受众群体,请设置为 audiences/default。

读取目标受众群体支持:

如果使用 chat.bot 范围并进行应用身份验证,则不会填充此字段。

设置目标受众群体需要进行用户身份验证。

accessPermissionSettings

object (AccessPermissionSettings)

可选。访问聊天室的权限设置。

如需在创建聊天室时设置目标受众群体,请在请求中指定 accessSettings.audience 字段。

AccessState

表示聊天室的访问状态。

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

聊天室管理员已向目标受众群体授予聊天室访问权限。已单独添加到聊天室或受邀加入聊天室的用户或 Google 群组也可以发现并访问该聊天室。如需了解详情,请参阅让特定用户可以发现聊天室。

创建开放型聊天室需要进行用户身份验证。

AccessPermissionSettings

访问聊天室的权限设置。

JSON 表示法
{
  "discoverSpaceSetting": {
    object (AccessPermissionSetting)
  },
  "joinSpaceSetting": {
    object (AccessPermissionSetting)
  },
  "viewSpaceMembershipSetting": {
    object (AccessPermissionSetting)
  }
}
字段
discoverSpaceSetting

object (AccessPermissionSetting)

可选。用于发现空间的访问权限设置。

joinSpaceSetting

object (AccessPermissionSetting)

可选。加入聊天室的访问权限设置。

viewSpaceMembershipSetting

object (AccessPermissionSetting)

可选。用于查看聊天室成员资格的访问权限设置。更新谁可以查看聊天室成员时,必须在更新掩码和请求正文中与 PermissionSettings.view_space_membership 一起指定。向目标受众群体授予查看权限时,您还必须在同一请求中向所有成员授予 PermissionSettings.view_space_membership。如需移除现有目标受众群体(例如,仅限聊天室管理员或助理管理员查看),请指定一个空的 AccessPermissionSetting(不含 principals)。

AccessPermissionSetting

访问权限设置。

JSON 表示法
{
  "principals": [
    {
      object (Principal)
    }
  ]
}
字段
principals[]

object (Principal)

可选。无序列表。相应权限的允许主账号。

主体

表示已获授权的实体的主账号。

JSON 表示法
{

  "audience": {
    object (Audience)
  }
}
字段
主账号的类型。以下是互斥字段的列表。在响应中,最多只能设置一个字段:
audience

object (Audience)

受众群体。

互斥字段的结束位置。

受众群体

Google Chat 中的目标受众群体。目标受众群体是指 Google Workspace 组织内由管理员定义的一组用户。目标受众群体用于配置资源的访问权限和公开范围设置,例如使特定用户群组可以发现某个空间。

如需了解详情,请参阅目标受众群体和让空间可供目标受众群体发现。

JSON 表示法
{
  "name": string
}
字段
name

string

可发现或加入聊天室的目标受众群体的资源名称。如需了解详情,请参阅让聊天室对目标受众群体开放。格式:audiences/{audience}

如需使用 Google Workspace 组织的默认目标受众群体,请设置为 audiences/default。

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)
  },
  "viewSpaceMembership": {
    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)

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

viewSpaceMembership

object (PermissionSetting)

可选。用于查看聊天室成员资格的设置。更新谁可以查看聊天室成员时,必须在更新掩码和请求正文中与 AccessPermissionSettings.view_space_membership_setting 一起指定。如果将查看权限限制为仅限特定角色(例如,空间管理员或助理管理员),请在此处指定所需的角色权限,并在同一请求中提供空的 AccessPermissionSettings.view_space_membership_setting。如果在 AccessPermissionSettings.view_space_membership_setting 中配置了目标受众群体,则必须向所有成员授予此设置。

PermissionSetting

表示聊天室权限设置。

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

boolean

可选。聊天室所有者 (ROLE_MANAGER) 是否拥有此权限。

membersAllowed

boolean

可选。基本聊天室成员 (ROLE_MEMBER) 是否具有此权限。

assistantManagersAllowed

boolean

可选。聊天室管理员是否拥有此权限 (ROLE_ASSISTANT_MANAGER)。

方法

completeImport

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

create

创建聊天室。

delete

删除指定聊天室。

findDirectMessage

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

findGroupChats

返回所有具有 spaceType == GROUP_CHAT 的聊天室,这些聊天室的人员成员包含调用用户和 FindGroupChatsRequest.users 中指定的用户。

get

返回聊天室的详细信息。

list

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

patch

更新空间。
返回 Google Workspace 组织中的空间列表。

setup

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