REST Resource: spaces

Ресурс: чат-группа

В чат-группе Google Chat. Чат-группы – это чаты между двумя или более пользователями или переписки 1:1 между пользователем и приложением 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,
  "sessionState": enum (SpaceSessionState),
  "sessionEnableTime": string,
  "importModeExpireTime": string,
  "customer": string,

  "predefinedPermissionSettings": enum (PredefinedPermissionSettings),
  "permissionSettings": {
    object (PermissionSettings)
  }
}
Поля
name

string

Идентификатор. Название ресурса чат-группы.

Формат: spaces/{space}

где {space} – назначенный системой идентификатор чат-группы. Идентификатор чат-группы можно получить, вызвав метод spaces.list(), или из URL чат-группы. Например, если URL чат-группы – https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA, то ее идентификатор – AAAAAAAAA.

type
(deprecated)

enum (Type)

Только для вывода. Поддержка прекращена. Используйте spaceType. Тип чат-группы.

spaceType

enum (SpaceType)

Необязательное поле. Тип чат-группы. Обязательно при создании чат-группы или обновлении ее типа. Только для вывода.

singleUserBotDm

boolean

Необязательное поле. Является ли чат-группа прямой перепиской между приложением Chat и одним пользователем.

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 – была ли чат-группа создана администратором Google Workspace. Администраторы могут устанавливать приложения Chat и настраивать прямую переписку с ними от имени пользователей в организации.

Чтобы администратор мог установить приложение Chat, оно должно поддерживать прямую переписку.

membershipCount

object (MembershipCount)

Только для вывода. Количество участников, сгруппированных по типу. Заполняется, если spaceType имеет значение SPACE, DIRECT_MESSAGE или GROUP_CHAT.

accessSettings

object (AccessSettings)

Необязательное поле. Указывает настройку доступа к чат-группе. Заполняется, только если для параметра spaceType задано значение SPACE.

spaceUri

string

Только для вывода. URI для доступа пользователя к чат-группе.

sessionState

enum (SpaceSessionState)

Только для вывода. Состояние сеанса чат-группы.

sessionEnableTime

string (Timestamp format)

Только для вывода. Временная метка, когда чат-группа начинает поддерживать сеансы. Не задано, если в чат-группе не включена поддержка сеансов.

importModeExpireTime

string (Timestamp format)

Только для вывода. Время, когда чат-группа будет автоматически удалена системой, если она останется в режиме импорта.

Каждая чат-группа, созданная в режиме импорта, должна выйти из этого режима до истечения срока действия с помощью spaces.completeImport.

Это поле заполняется только для чат-групп, созданных в режиме импорта.

customer

string

Необязательное поле. Не меняется. Идентификатор клиента домена чат-группы. Требуется только при создании чат-группы с аутентификацией приложения и если SpaceType – это SPACE. В противном случае задавать не нужно.

В формате customers/{customer}, где customer – это id из ресурса клиента Admin SDK. Частные приложения также могут использовать псевдоним customers/my_customer, чтобы создать чат-группу в той же организации Google Workspace, что и приложение.

Это поле не заполняется для прямых переписок и чат-групп, созданных пользователями, у которых нет аккаунта Google Workspace.

Представляет настройки разрешений чат-группы. Заполняется, только если для параметра space_type задано значение SPACE. Ниже приведен список взаимоисключающих полей. В ответе будет задано не более одного из следующих полей:
predefinedPermissionSettings

enum (PredefinedPermissionSettings)

Необязательное поле. Только для ввода. Предопределенные настройки разрешений чат-группы, которые можно задать только при ее создании. Если поле не заполнено, создается чат-группа для совместной работы. После создания чат-группы настройки будут указаны в поле PermissionSettings.

Заранее заданные настройки разрешений поддерживают:

permissionSettings

object (PermissionSettings)

Необязательное поле. Настройки разрешений для существующих чат-групп. Входные данные для обновления точных настроек разрешений чат-группы, при котором существующие настройки разрешений заменяются. В выходных данных будут перечислены текущие настройки разрешений.

Чтение и обновление настроек разрешений поддерживается для следующих объектов:

Конец взаимоисключающих полей.

Тип

Поддержка прекращена. Используйте SpaceType.

Перечисления
TYPE_UNSPECIFIED Зарезервировано.
ROOM Разговоры между двумя или более людьми.
DM Прямая переписка между пользователем и приложением Chat, в которой все сообщения находятся на одном уровне. Обратите внимание, что это не относится к прямым перепискам между двумя людьми.

SpaceType

Тип чат-группы. Обязательно при создании или обновлении чат-группы. Только для вывода.

Перечисления
SPACE_TYPE_UNSPECIFIED Зарезервировано.
SPACE Место, где пользователи могут обмениваться сообщениями и файлами, а также работать вместе. В SPACE можно добавлять приложения Chat.
GROUP_CHAT Групповые чаты с тремя и более участниками. В GROUP_CHAT можно добавлять приложения Chat.
DIRECT_MESSAGE Прямые переписки между двумя людьми или человеком и приложением Chat.

SpaceThreadingState

Указывает тип состояния цепочки в чат-группе Chat.

Перечисления
SPACE_THREADING_STATE_UNSPECIFIED Зарезервировано.
THREADED_MESSAGES Чат-группы, поддерживающие цепочки сообщений. Пользователи могут отвечать на сообщения в цепочке, чтобы сохранять контекст исходного сообщения.
GROUPED_MESSAGES Именованные чат-группы, в которых обсуждения упорядочены по темам. Темы и ответы на них будут группироваться.
UNTHREADED_MESSAGES

Чат-группы, в которых не поддерживаются цепочки сообщений. Этот статус используется только в особых случаях, например:

  • Постоянный чат встречи, в котором намеренно отключены цепочки.
  • Устаревшие групповые чаты, созданные до 2022 года.

SpaceDetails

Сведения о чат-группе, включая описание и правила.

JSON-представление
{
  "description": string,
  "guidelines": string
}
Поля
description

string

Необязательное поле. Описание чат-группы. Например, укажите тему обсуждения, цель или участников.

Максимальная длина – 4096 символов.

guidelines

string

Необязательное поле. Правила, ожидания и этикет чат-группы.

Максимальная длина – 5000 символов.

HistoryState

Состояние истории для сообщений и чат-групп. Указывает, как долго сообщения и цепочки хранятся после создания.

Перечисления
HISTORY_STATE_UNSPECIFIED Значение по умолчанию. Не используйте.
HISTORY_OFF История отключена. Сообщения и цепочки хранятся 24 часа.
HISTORY_ON История включена. Правила хранения Сейфа организации определяют, как долго хранятся сообщения и цепочки.

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, которые были добавлены или приглашены другими пользователями или администраторами Google Workspace.
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)

Необязательное поле. Настройка для использования @all в чат-группе.

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).

SpaceSessionState

Состояние сеанса чат-группы.

Перечисления
SPACE_SESSION_STATE_UNSPECIFIED Не указано. Не использовать.
NOT_SUPPORTED В чат-группе не поддерживаются сеансы.
THREAD Чат-группа поддерживает сеансы на основе цепочек.

Методы

completeImport

Завершает процесс импорта для указанной чат-группы и делает ее видимой для пользователей.

create

Создает чат-группу.

delete

Удаляет чат-группу с названием.

findDirectMessage

Возвращает существующую прямую переписку с указанным пользователем.

findGroupChats

Возвращает все чат-группы с spaceType == GROUP_CHAT, в которых состоят только вызывающий пользователь и пользователи, указанные в FindGroupChatsRequest.users.

get

Возвращает сведения о чат-группе.

list

Выводит список чат-групп, в которых состоит вызывающий абонент.

patch

Обновляет чат-группу.
Возвращает список чат-групп в организации Google Workspace.

setup

Создает чат-группу и добавляет в нее указанных пользователей.