Package google.chat.v1

Содержание

ChatService

Позволяет разработчикам создавать приложения и интеграции для Chat на платформе Google Chat.

CompleteImportSpace

rpc CompleteImportSpace(CompleteImportSpaceRequest) returns (CompleteImportSpaceResponse)

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

Требуется аутентификация пользователя и делегирование доступа к данным в домене с областью авторизации:

  • https://www.googleapis.com/auth/chat.import

Подробнее о том, как разрешить приложениям Google Chat импортировать данные…

Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.import

Подробную информацию можно найти в руководстве по авторизации.

CreateCustomEmoji

rpc CreateCustomEmoji(CreateCustomEmojiRequest) returns (CustomEmoji)

Создает собственный эмодзи.

Собственные эмодзи поддерживаются только в аккаунтах Google Workspace, и администратор должен включить их для организации. Дополнительную информацию можно найти в статьях Собственные эмодзи в Google Chat и Как управлять разрешениями на использование собственных эмодзи.

Требуется аутентификация пользователя с областью авторизации:

  • https://www.googleapis.com/auth/chat.customemojis
Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.customemojis

Подробную информацию можно найти в руководстве по авторизации.

CreateMembership

rpc CreateMembership(CreateMembershipRequest) returns (Membership)

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

Поддерживает следующие типы аутентификации:

  • Аутентификация приложения с одобрением администратора и областью авторизации:

    • https://www.googleapis.com/auth/chat.app.memberships
  • Аутентификация пользователя с одной из следующих областей авторизации:

    • https://www.googleapis.com/auth/chat.memberships
    • https://www.googleapis.com/auth/chat.memberships.app (чтобы добавить приложение для звонков в чат-группу)
    • https://www.googleapis.com/auth/chat.import (только для чат-групп в режиме импорта)
    • Аутентификация пользователя предоставляет права администратора, когда аккаунт администратора проходит аутентификацию, use_admin_access – это true и используется следующая область авторизации:
      • https://www.googleapis.com/auth/chat.admin.memberships

Аутентификация приложений не поддерживается в следующих случаях:

  • Приглашение пользователей, не относящихся к организации Workspace, которой принадлежит чат-группа.
  • Добавление группы Google в чат-группу.
  • Добавление приложения Chat в чат-группу.

Примеры использования:

Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.app.memberships
  • https://www.googleapis.com/auth/chat.admin.memberships
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.memberships
  • https://www.googleapis.com/auth/chat.memberships.app

Подробную информацию можно найти в руководстве по авторизации.

CreateMessage

rpc CreateMessage(CreateMessageRequest) returns (Message)

Создает сообщение в чат-группе Google Chat. Пример приведен в разделе Отправка сообщения.

Поддерживает следующие типы аутентификации:

Chat по-разному определяет отправителя сообщения в зависимости от типа аутентификации, используемого в запросе.

На изображении ниже показано, как Chat указывает автора сообщения, когда вы используете аутентификацию приложения. В Chat отправителем сообщения будет указано приложение Chat. Сообщение может содержать текст (text), карточки (cardsV2) и дополнительные виджеты (accessoryWidgets).

Сообщение отправлено с аутентификацией приложения

На изображении ниже показано, как Chat указывает автора сообщения, когда вы используете аутентификацию пользователя. В Chat отправителем сообщения будет указан пользователь, а приложение Chat будет указано как источник сообщения. Сообщение может содержать только текст (text).

Сообщение отправлено с аутентификацией пользователя

Максимальный размер сообщения, включая его содержимое, составляет 32 000 байт.

В случае с запросами вебхука ответ не содержит полного сообщения. В ответе заполняются только поля name и thread.name, а также указывается информация, которая была в запросе.

Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.bot
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.create

Подробную информацию можно найти в руководстве по авторизации.

CreateMessagePin

rpc CreateMessagePin(CreateMessagePinRequest) returns (MessagePin)

Создает закрепленное сообщение.

Требуется аутентификация пользователя с одной из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.spaces.pins
  • https://www.googleapis.com/auth/chat.spaces
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.spaces.pins
  • https://www.googleapis.com/auth/chat.spaces

Подробную информацию можно найти в руководстве по авторизации.

CreateReaction

rpc CreateReaction(CreateReactionRequest) returns (Reaction)

Создает отклик и добавляет его к сообщению. Пример приведен в разделе Как добавить отклик к сообщению.

Требуется аутентификация пользователя с одной из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.messages.reactions.create
  • https://www.googleapis.com/auth/chat.messages.reactions
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.import (только для чат-групп в режиме импорта)
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.reactions
  • https://www.googleapis.com/auth/chat.messages.reactions.create

Подробную информацию можно найти в руководстве по авторизации.

CreateSection

rpc CreateSection(CreateSectionRequest) returns (Section)

Создает раздел в Google Chat. Разделы помогают пользователям группировать чаты и настраивать список чат-групп, которые показываются на панели навигации Chat. Можно создавать только разделы типа CUSTOM_SECTION. Подробнее о том, как создавать и упорядочивать разделы в Google Chat…

Требуется аутентификация пользователя с областью авторизации:

  • https://www.googleapis.com/auth/chat.users.sections
Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.users.sections

Подробную информацию можно найти в руководстве по авторизации.

CreateSpace

rpc CreateSpace(CreateSpaceRequest) returns (Space)

Создает чат-группу. Можно использовать для создания именованной чат-группы или группового чата в Import mode. Пример приведен в разделе Создание чат-группы.

Поддерживает следующие типы аутентификации:

При аутентификации в качестве приложения в запросе должно быть задано поле space.customer.

При аутентификации от имени приложения приложение Chat добавляется в чат-группу в качестве участника. Однако, в отличие от человека, приложение Chat не добавляется в качестве менеджера чат-группы. По умолчанию удалить приложение Chat из чат-группы могут все ее участники. Чтобы разрешить удалять приложение из чат-группы только ее менеджерам, задайте для параметра space.permission_settings.manage_apps значение managers_allowed.

Состав участников чат-группы при ее создании зависит от того, создана ли она в Import mode:

  • Режим импорта. Участники не создаются.
  • Все остальные режимы. Пользователь, который звонит, добавляется в качестве участника. Это:
    • само приложение, если используется аутентификация приложения.
    • Пользователь, если используется аутентификация пользователя.

Если при создании чат-группы вы видите сообщение об ошибке "ALREADY_EXISTS", попробуйте использовать другое значение в поле "displayName". Возможно, в организации Google Workspace уже есть чат-группа с таким отображаемым названием.

Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.app.spaces.create
  • https://www.googleapis.com/auth/chat.app.spaces
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.create

Подробную информацию можно найти в руководстве по авторизации.

DeleteCustomEmoji

rpc DeleteCustomEmoji(DeleteCustomEmojiRequest) returns (Empty)

Удаляет собственный эмодзи. По умолчанию пользователи могут удалять только созданные ими эмодзи. Менеджеры эмодзи, назначенные администратором, могут удалять любые собственные эмодзи в организации. Подробнее о собственных эмодзи в Google Chat…

Собственные эмодзи поддерживаются только в аккаунтах Google Workspace, и администратор должен включить их для организации. Дополнительную информацию можно найти в статьях Собственные эмодзи в Google Chat и Как управлять разрешениями на использование собственных эмодзи.

Требуется аутентификация пользователя с областью авторизации:

  • https://www.googleapis.com/auth/chat.customemojis
Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.customemojis

Подробную информацию можно найти в руководстве по авторизации.

DeleteMembership

rpc DeleteMembership(DeleteMembershipRequest) returns (Membership)

Удаляет участника. Пример приведен в разделе Как удалить пользователя или приложение Google Chat из чат-группы.

Поддерживает следующие типы аутентификации:

  • Аутентификация приложения с одобрением администратора и областью авторизации:

    • https://www.googleapis.com/auth/chat.app.memberships
  • Аутентификация пользователя с одной из следующих областей авторизации:

    • https://www.googleapis.com/auth/chat.memberships
    • https://www.googleapis.com/auth/chat.memberships.app (чтобы удалить приложение для звонков из чат-группы)
    • https://www.googleapis.com/auth/chat.import (только для чат-групп в режиме импорта)
    • Аутентификация пользователя предоставляет права администратора, когда аккаунт администратора проходит аутентификацию, use_admin_access – это true и используется следующая область авторизации:
      • https://www.googleapis.com/auth/chat.admin.memberships

Аутентификация приложений не поддерживается в следующих случаях:

  • Удаление группы Google из чат-группы.
  • Удаление приложения Chat из чат-группы.

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

Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.app.memberships
  • https://www.googleapis.com/auth/chat.admin.memberships
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.memberships
  • https://www.googleapis.com/auth/chat.memberships.app

Подробную информацию можно найти в руководстве по авторизации.

DeleteMessage

rpc DeleteMessage(DeleteMessageRequest) returns (Empty)

Удаляет сообщение. Пример приведен в разделе Как удалить сообщение.

Поддерживает следующие типы аутентификации:

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

Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.bot
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.messages

Подробную информацию можно найти в руководстве по авторизации.

DeleteMessagePin

rpc DeleteMessagePin(DeleteMessagePinRequest) returns (Empty)

Удаляет закрепленное сообщение.

Требуется аутентификация пользователя с одной из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.spaces.pins
  • https://www.googleapis.com/auth/chat.spaces
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.spaces.pins
  • https://www.googleapis.com/auth/chat.spaces

Подробную информацию можно найти в руководстве по авторизации.

DeleteReaction

rpc DeleteReaction(DeleteReactionRequest) returns (Empty)

Удаляет реакцию на сообщение. Пример приведен в разделе Как удалить отклик.

Требуется аутентификация пользователя с одной из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.messages.reactions
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.import (только для чат-групп в режиме импорта)
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.reactions

Подробную информацию можно найти в руководстве по авторизации.

DeleteSection

rpc DeleteSection(DeleteSectionRequest) returns (Empty)

Удаляет раздел типа CUSTOM_SECTION.

Если в разделе есть объекты, например чат-группы, они будут перемещены в разделы Google Chat по умолчанию и не будут удалены.

Подробнее о том, как создавать и упорядочивать разделы в Google Chat…

Требуется аутентификация пользователя с областью авторизации:

  • https://www.googleapis.com/auth/chat.users.sections
Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.users.sections

Подробную информацию можно найти в руководстве по авторизации.

DeleteSpace

rpc DeleteSpace(DeleteSpaceRequest) returns (Empty)

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

Поддерживает следующие типы аутентификации:

  • Аутентификация приложения с одобрением администратора и областью авторизации:

    • https://www.googleapis.com/auth/chat.app.delete (только в чат-группах, созданных приложением)
  • Аутентификация пользователя с одной из следующих областей авторизации:

    • https://www.googleapis.com/auth/chat.delete
    • https://www.googleapis.com/auth/chat.import (только для чат-групп в режиме импорта)
    • Аутентификация пользователя предоставляет права администратора, когда аккаунт администратора проходит аутентификацию, use_admin_access – это true и используется следующая область авторизации:
      • https://www.googleapis.com/auth/chat.admin.delete
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.app.delete
  • https://www.googleapis.com/auth/chat.admin.delete
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.delete

Подробную информацию можно найти в руководстве по авторизации.

FindDirectMessage

rpc FindDirectMessage(FindDirectMessageRequest) returns (Space)

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

При аутентификации приложения возвращает чат-группу прямой переписки между указанным пользователем и вызывающим приложением Chat.

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

Поддерживает следующие типы аутентификации:

Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.readonly
  • https://www.googleapis.com/auth/chat.bot

Подробную информацию можно найти в руководстве по авторизации.

FindGroupChats

rpc FindGroupChats(FindGroupChatsRequest) returns (FindGroupChatsResponse)

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

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

Указанный набор пользователей должен содержать только людей (не приложения). Если в запросе указаны пользователи, не являющиеся людьми, чат-группы не возвращаются.

Требуется аутентификация пользователя с одной из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.memberships.readonly
  • https://www.googleapis.com/auth/chat.memberships
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.memberships
  • https://www.googleapis.com/auth/chat.memberships.readonly

Подробную информацию можно найти в руководстве по авторизации.

GetAttachment

rpc GetAttachment(GetAttachmentRequest) returns (Attachment)

Получает метаданные прикрепленного к сообщению файла. Данные прикрепленного файла извлекаются с помощью Media API. Пример приведен в разделе Получение метаданных о прикрепленном файле.

Требуется аутентификация приложения с областью авторизации:

  • https://www.googleapis.com/auth/chat.bot
Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.bot

Подробную информацию можно найти в руководстве по авторизации.

GetAvailability

rpc GetAvailability(GetAvailabilityRequest) returns (Availability)

Возвращает информацию о доступности пользователя в Google Chat. Например, с помощью этого метода можно проверить, находится ли пользователь в сети или нет, или получить его настраиваемое сообщение о статусе.

Этот метод позволяет получить только информацию о доступности аутентифицированного пользователя.

Требуется аутентификация пользователя с одной из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.users.availability.readonly
  • https://www.googleapis.com/auth/chat.users.availability
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.users.availability
  • https://www.googleapis.com/auth/chat.users.availability.readonly

Подробную информацию можно найти в руководстве по авторизации.

GetCustomEmoji

rpc GetCustomEmoji(GetCustomEmojiRequest) returns (CustomEmoji)

Возвращает сведения о пользовательском эмодзи.

Собственные эмодзи поддерживаются только в аккаунтах Google Workspace, и администратор должен включить их для организации. Дополнительную информацию можно найти в статьях Собственные эмодзи в Google Chat и Как управлять разрешениями на использование собственных эмодзи.

Требуется аутентификация пользователя с одной из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.customemojis.readonly
  • https://www.googleapis.com/auth/chat.customemojis
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.customemojis
  • https://www.googleapis.com/auth/chat.customemojis.readonly

Подробную информацию можно найти в руководстве по авторизации.

GetMembership

rpc GetMembership(GetMembershipRequest) returns (Membership)

Возвращает сведения о членстве. Пример приведен в разделе Как получить сведения об участнике чат-группы.

Поддерживает следующие типы аутентификации:

  • Аутентификация приложения с одной из следующих областей авторизации:

  • Аутентификация пользователя с одной из следующих областей авторизации:

    • https://www.googleapis.com/auth/chat.memberships.readonly
    • https://www.googleapis.com/auth/chat.memberships
    • При аутентификации пользователя права администратора предоставляются, если аутентификация выполняется в аккаунте администратора, use_admin_access – это true и используется одна из следующих областей авторизации:
      • https://www.googleapis.com/auth/chat.admin.memberships.readonly
      • https://www.googleapis.com/auth/chat.admin.memberships
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.admin.memberships
  • https://www.googleapis.com/auth/chat.admin.memberships.readonly
  • https://www.googleapis.com/auth/chat.app.memberships
  • https://www.googleapis.com/auth/chat.bot
  • https://www.googleapis.com/auth/chat.memberships
  • https://www.googleapis.com/auth/chat.memberships.readonly

Подробную информацию можно найти в руководстве по авторизации.

GetMessage

rpc GetMessage(GetMessageRequest) returns (Message)

Возвращает сведения о сообщении. Пример приведен в разделе Как получить сведения о сообщении.

Поддерживает следующие типы аутентификации:

  • Аутентификация приложения с одной из следующих областей авторизации:

    • https://www.googleapis.com/auth/chat.bot – при использовании этой области авторизации метод возвращает сведения о сообщении, к которому у приложения Chat есть доступ, например о прямых переписках и слеш-командах, вызывающих приложение Chat.
    • https://www.googleapis.com/auth/chat.app.messages.readonly с одобрения администратора. При использовании этой области аутентификации метод возвращает сведения об общедоступном сообщении в чат-группе.
  • Аутентификация пользователя с одной из следующих областей авторизации:

    • https://www.googleapis.com/auth/chat.messages.readonly
    • https://www.googleapis.com/auth/chat.messages

Примечание. Может возвращать сообщение от заблокированного участника или из заблокированной чат-группы.

Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.bot
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.readonly
  • https://www.googleapis.com/auth/chat.app.messages.readonly

Подробную информацию можно найти в руководстве по авторизации.

GetSpace

rpc GetSpace(GetSpaceRequest) returns (Space)

Возвращает сведения о чат-группе. Пример приведен в разделе Как получить сведения о чат-группе.

Поддерживает следующие типы аутентификации:

  • Аутентификация приложения с одной из следующих областей авторизации:

  • Аутентификация пользователя с одной из следующих областей авторизации:

    • https://www.googleapis.com/auth/chat.spaces.readonly
    • https://www.googleapis.com/auth/chat.spaces
    • При аутентификации пользователя права администратора предоставляются, если аутентификация выполняется в аккаунте администратора, use_admin_access – это true и используется одна из следующих областей авторизации:
      • https://www.googleapis.com/auth/chat.admin.spaces.readonly
      • https://www.googleapis.com/auth/chat.admin.spaces

Для аутентификации приложений действуют следующие ограничения:

  • Поле space.access_settings заполняется, только если используется область действия chat.app.spaces.
  • Поля space.predefind_permission_settings и space.permission_settings заполняются только при использовании области действия chat.app.spaces и только для чат-групп, созданных приложением.
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.admin.spaces
  • https://www.googleapis.com/auth/chat.admin.spaces.readonly
  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.readonly
  • https://www.googleapis.com/auth/chat.bot
  • https://www.googleapis.com/auth/chat.app.spaces

Подробную информацию можно найти в руководстве по авторизации.

GetSpaceEvent

rpc GetSpaceEvent(GetSpaceEventRequest) returns (SpaceEvent)

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

Примечание. Поле permissionSettings не возвращается в объекте Space данных о событии чат-группы для этого запроса.

Поддерживает следующие типы аутентификации с областью авторизации, подходящей для чтения запрашиваемых данных:

  • Аутентификация приложения с одобрением администратора и одной из следующих областей авторизации:

    • https://www.googleapis.com/auth/chat.app.spaces
    • https://www.googleapis.com/auth/chat.app.spaces.readonly
    • https://www.googleapis.com/auth/chat.app.messages.readonly
    • https://www.googleapis.com/auth/chat.app.memberships
    • https://www.googleapis.com/auth/chat.app.memberships.readonly
  • Аутентификация пользователя с одной из следующих областей авторизации:

    • https://www.googleapis.com/auth/chat.spaces.readonly
    • https://www.googleapis.com/auth/chat.spaces
    • https://www.googleapis.com/auth/chat.messages.readonly
    • https://www.googleapis.com/auth/chat.messages
    • https://www.googleapis.com/auth/chat.messages.reactions.readonly
    • https://www.googleapis.com/auth/chat.messages.reactions
    • https://www.googleapis.com/auth/chat.memberships.readonly
    • https://www.googleapis.com/auth/chat.memberships

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

Пример приведен в разделе Как получить сведения о мероприятии из чат-группы Google Chat.

Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.app.memberships
  • https://www.googleapis.com/auth/chat.app.memberships.readonly
  • https://www.googleapis.com/auth/chat.app.messages.readonly
  • https://www.googleapis.com/auth/chat.app.spaces
  • https://www.googleapis.com/auth/chat.app.spaces.readonly
  • https://www.googleapis.com/auth/chat.app.all.messages.readonly
  • https://www.googleapis.com/auth/chat.app.all.spaces.readonly
  • https://www.googleapis.com/auth/chat.app.all.memberships.readonly
  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.readonly
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.readonly
  • https://www.googleapis.com/auth/chat.memberships
  • https://www.googleapis.com/auth/chat.memberships.readonly
  • https://www.googleapis.com/auth/chat.messages.reactions
  • https://www.googleapis.com/auth/chat.messages.reactions.readonly

Подробную информацию можно найти в руководстве по авторизации.

GetSpaceNotificationSetting

rpc GetSpaceNotificationSetting(GetSpaceNotificationSettingRequest) returns (SpaceNotificationSetting)

Получает настройки уведомлений чат-группы. Пример приведен в разделе Как получить настройки уведомлений чат-группы для вызывающего абонента.

Требуется аутентификация пользователя с областью авторизации:

  • https://www.googleapis.com/auth/chat.users.spacesettings
Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.users.spacesettings

Подробную информацию можно найти в руководстве по авторизации.

GetSpaceReadState

rpc GetSpaceReadState(GetSpaceReadStateRequest) returns (SpaceReadState)

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

Требуется аутентификация пользователя с одной из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.users.readstate.readonly
  • https://www.googleapis.com/auth/chat.users.readstate
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.users.readstate
  • https://www.googleapis.com/auth/chat.users.readstate.readonly

Подробную информацию можно найти в руководстве по авторизации.

GetThreadReadState

rpc GetThreadReadState(GetThreadReadStateRequest) returns (ThreadReadState)

Возвращает сведения о статусе прочтения пользователем сообщений в цепочке. Используется для определения прочитанных и непрочитанных сообщений. Пример приведен в разделе Как получить сведения о статусе прочтения цепочки пользователем.

Требуется аутентификация пользователя с одной из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.users.readstate.readonly
  • https://www.googleapis.com/auth/chat.users.readstate
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.users.readstate
  • https://www.googleapis.com/auth/chat.users.readstate.readonly

Подробную информацию можно найти в руководстве по авторизации.

ListCustomEmojis

rpc ListCustomEmojis(ListCustomEmojisRequest) returns (ListCustomEmojisResponse)

Возвращает список собственных эмодзи, видимых аутентифицированному пользователю.

Собственные эмодзи поддерживаются только в аккаунтах Google Workspace, и администратор должен включить их для организации. Дополнительную информацию можно найти в статьях Собственные эмодзи в Google Chat и Как управлять разрешениями на использование собственных эмодзи.

Требуется аутентификация пользователя с одной из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.customemojis.readonly
  • https://www.googleapis.com/auth/chat.customemojis
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.customemojis
  • https://www.googleapis.com/auth/chat.customemojis.readonly

Подробную информацию можно найти в руководстве по авторизации.

ListMemberships

rpc ListMemberships(ListMembershipsRequest) returns (ListMembershipsResponse)

Возвращает список участников чат-группы. Пример приведен в статье Как получить список пользователей и приложений Google Chat в чат-группе. При получении списка участников с помощью аутентификации приложения возвращаются участники чат-групп, к которым у приложения Chat есть доступ, но исключаются участники приложений Chat, включая само приложение. При использовании аутентификации пользователей будут перечислены участники чат-групп, к которым у аутентифицированного пользователя есть доступ.

Поддерживает следующие типы аутентификации:

  • Аутентификация приложения с одной из следующих областей авторизации:

  • Аутентификация пользователя с одной из следующих областей авторизации:

    • https://www.googleapis.com/auth/chat.memberships.readonly
    • https://www.googleapis.com/auth/chat.memberships
    • https://www.googleapis.com/auth/chat.import (только для чат-групп в режиме импорта)
    • При аутентификации пользователя права администратора предоставляются, если аутентификация выполняется в аккаунте администратора, use_admin_access – это true и используется одна из следующих областей авторизации:
      • https://www.googleapis.com/auth/chat.admin.memberships.readonly
      • https://www.googleapis.com/auth/chat.admin.memberships
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.admin.memberships
  • https://www.googleapis.com/auth/chat.admin.memberships.readonly
  • https://www.googleapis.com/auth/chat.app.memberships
  • https://www.googleapis.com/auth/chat.bot
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.memberships
  • https://www.googleapis.com/auth/chat.memberships.readonly

Подробную информацию можно найти в руководстве по авторизации.

ListMessagePins

rpc ListMessagePins(ListMessagePinsRequest) returns (ListMessagePinsResponse)

Возвращает список закрепленных сообщений в чат-группе. Пользователи могут закреплять важные сообщения в чат-группах, чтобы их было легко найти. Подробнее о том, как закрепить или открепить чат в Google Chat…

Требуется аутентификация пользователя с одной из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.spaces.pins.readonly
  • https://www.googleapis.com/auth/chat.spaces.pins
  • https://www.googleapis.com/auth/chat.spaces.readonly
  • https://www.googleapis.com/auth/chat.spaces
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.spaces.pins
  • https://www.googleapis.com/auth/chat.spaces.pins.readonly
  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.readonly

Подробную информацию можно найти в руководстве по авторизации.

ListMessages

rpc ListMessages(ListMessagesRequest) returns (ListMessagesResponse)

Возвращает список сообщений в чат-группе, участником которой является вызывающий абонент, включая сообщения от заблокированных участников и чат-групп. Системные сообщения, например о добавлении новых участников, не учитываются. Если вы запрашиваете список сообщений из чат-группы, в которой нет сообщений, ответом будет пустой объект. При использовании интерфейса REST/HTTP ответ содержит пустой объект JSON {}. Пример приведен в разделе Список сообщений.

Поддерживает следующие типы аутентификации:

  • Аутентификация приложения с одобрением администратора и следующей областью авторизации:

    • https://www.googleapis.com/auth/chat.app.messages.readonly. При использовании этой области аутентификации метод возвращает только общедоступные сообщения в чат-группе. Личные сообщения не учитываются.
  • Аутентификация пользователя с одной из следующих областей авторизации:

    • https://www.googleapis.com/auth/chat.messages.readonly
    • https://www.googleapis.com/auth/chat.messages
    • https://www.googleapis.com/auth/chat.import (только для чат-групп в режиме импорта)
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.readonly
  • https://www.googleapis.com/auth/chat.app.messages.readonly

Подробную информацию можно найти в руководстве по авторизации.

ListReactions

rpc ListReactions(ListReactionsRequest) returns (ListReactionsResponse)

Возвращает список реакций на сообщение. Пример приведен в разделе Как получить список откликов на сообщение.

Требуется аутентификация пользователя с одной из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.messages.reactions.readonly
  • https://www.googleapis.com/auth/chat.messages.reactions
  • https://www.googleapis.com/auth/chat.messages.readonly
  • https://www.googleapis.com/auth/chat.messages
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.readonly
  • https://www.googleapis.com/auth/chat.messages.reactions
  • https://www.googleapis.com/auth/chat.messages.reactions.readonly

Подробную информацию можно найти в руководстве по авторизации.

ListSectionItems

rpc ListSectionItems(ListSectionItemsRequest) returns (ListSectionItemsResponse)

Перечисляет товары в разделе.

В раздел можно добавлять только чат-группы. Подробнее о том, как создавать и упорядочивать разделы в Google Chat…

Требуется аутентификация пользователя с областью авторизации:

  • https://www.googleapis.com/auth/chat.users.sections
  • https://www.googleapis.com/auth/chat.users.sections.readonly
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.users.sections
  • https://www.googleapis.com/auth/chat.users.sections.readonly

Подробную информацию можно найти в руководстве по авторизации.

ListSections

rpc ListSections(ListSectionsRequest) returns (ListSectionsResponse)

Выводит список разделов, доступных пользователю Chat. Разделы помогают пользователям группировать чаты и настраивать список чат-групп, которые показываются на панели навигации Chat. Подробнее о том, как создавать и упорядочивать разделы в Google Chat…

Требуется аутентификация пользователя с областью авторизации:

  • https://www.googleapis.com/auth/chat.users.sections
  • https://www.googleapis.com/auth/chat.users.sections.readonly
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.users.sections
  • https://www.googleapis.com/auth/chat.users.sections.readonly

Подробную информацию можно найти в руководстве по авторизации.

ListSpaceEvents

rpc ListSpaceEvents(ListSpaceEventsRequest) returns (ListSpaceEventsResponse)

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

Поддерживает следующие типы аутентификации с областью авторизации, подходящей для чтения запрашиваемых данных:

  • Аутентификация приложения с одобрением администратора и одной из следующих областей авторизации:

    • https://www.googleapis.com/auth/chat.app.spaces
    • https://www.googleapis.com/auth/chat.app.spaces.readonly
    • https://www.googleapis.com/auth/chat.app.messages.readonly
    • https://www.googleapis.com/auth/chat.app.memberships
    • https://www.googleapis.com/auth/chat.app.memberships.readonly
  • Аутентификация пользователя с одной из следующих областей авторизации:

    • https://www.googleapis.com/auth/chat.spaces.readonly
    • https://www.googleapis.com/auth/chat.spaces
    • https://www.googleapis.com/auth/chat.messages.readonly
    • https://www.googleapis.com/auth/chat.messages
    • https://www.googleapis.com/auth/chat.messages.reactions.readonly
    • https://www.googleapis.com/auth/chat.messages.reactions
    • https://www.googleapis.com/auth/chat.memberships.readonly
    • https://www.googleapis.com/auth/chat.memberships

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

Пример приведен в статье Как получить список событий из чат-группы Google Chat.

Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.app.memberships
  • https://www.googleapis.com/auth/chat.app.memberships.readonly
  • https://www.googleapis.com/auth/chat.app.messages.readonly
  • https://www.googleapis.com/auth/chat.app.spaces
  • https://www.googleapis.com/auth/chat.app.spaces.readonly
  • https://www.googleapis.com/auth/chat.app.all.messages.readonly
  • https://www.googleapis.com/auth/chat.app.all.spaces.readonly
  • https://www.googleapis.com/auth/chat.app.all.memberships.readonly
  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.readonly
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.readonly
  • https://www.googleapis.com/auth/chat.memberships
  • https://www.googleapis.com/auth/chat.memberships.readonly
  • https://www.googleapis.com/auth/chat.messages.reactions
  • https://www.googleapis.com/auth/chat.messages.reactions.readonly

Подробную информацию можно найти в руководстве по авторизации.

ListSpaces

rpc ListSpaces(ListSpacesRequest) returns (ListSpacesResponse)

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

Поддерживает следующие типы аутентификации:

Чтобы получить список всех чат-групп с названиями в организации Google Workspace, используйте метод spaces.search() с правами администратора Workspace.

Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.readonly
  • https://www.googleapis.com/auth/chat.bot

Подробную информацию можно найти в руководстве по авторизации.

MarkAsActive

rpc MarkAsActive(MarkAsActiveRequest) returns (Availability)

Пользователь помечается как ACTIVE в Google Chat.

Устанавливает статус доступности пользователя на ACTIVE. Статус ACTIVE сохраняется до указанной даты окончания, после чего статус пользователя меняется на AWAY. Обратите внимание, что если пользователь активно использует Chat, статус ACTIVE может оставаться активным дольше, чем указано в сроке действия.

Этот метод обновляет только доступность аутентифицированного пользователя.

Требуется аутентификация пользователя с областью авторизации:

  • https://www.googleapis.com/auth/chat.users.availability
Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.users.availability

Подробную информацию можно найти в руководстве по авторизации.

MarkAsAway

rpc MarkAsAway(MarkAsAwayRequest) returns (Availability)

Пользователь помечается как AWAY в Google Chat.

Устанавливает статус "Нет на месте" независимо от активности пользователя.

Этот метод обновляет только доступность аутентифицированного пользователя.

Требуется аутентификация пользователя с областью авторизации:

  • https://www.googleapis.com/auth/chat.users.availability
Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.users.availability

Подробную информацию можно найти в руководстве по авторизации.

MarkAsDoNotDisturb

rpc MarkAsDoNotDisturb(MarkAsDoNotDisturbRequest) returns (Availability)

Пользователь помечается как DO_NOT_DISTURB в Google Chat.

Устанавливает статус доступности пользователя DO_NOT_DISTURB до указанного времени окончания. В режиме DO_NOT_DISTURB пользователи обычно не получают уведомления.

Этот метод обновляет только доступность аутентифицированного пользователя.

Требуется аутентификация пользователя с областью авторизации:

  • https://www.googleapis.com/auth/chat.users.availability
Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.users.availability

Подробную информацию можно найти в руководстве по авторизации.

MoveSectionItem

rpc MoveSectionItem(MoveSectionItemRequest) returns (MoveSectionItemResponse)

Перемещает элемент из одного раздела в другой. Например, если раздел содержит чат-группы, этот метод можно использовать для перемещения чат-группы в другой раздел. Подробнее о том, как создавать и упорядочивать разделы в Google Chat…

Требуется аутентификация пользователя с областью авторизации:

  • https://www.googleapis.com/auth/chat.users.sections
Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.users.sections

Подробную информацию можно найти в руководстве по авторизации.

PositionSection

rpc PositionSection(PositionSectionRequest) returns (PositionSectionResponse)

Изменяет порядок сортировки раздела. Подробнее о том, как создавать и упорядочивать разделы в Google Chat…

Требуется аутентификация пользователя с областью авторизации:

  • https://www.googleapis.com/auth/chat.users.sections
Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.users.sections

Подробную информацию можно найти в руководстве по авторизации.

ReplaceMessageCards

rpc ReplaceMessageCards(ReplaceMessageCardsRequest) returns (ReplaceMessageCardsResponse)

Заменяет карточки, включенные в сообщение.

Приложение Chat может заменять карточки в сообщении, созданном человеком, только если в сообщении уже есть карточки и они созданы этим приложением.

Если приложение заменяет карточки пустым списком, они удаляются. После удаления карточек приложение не может добавить их обратно в сообщение.

Требуется аутентификация приложения с областью авторизации: - https://www.googleapis.com/auth/chat.bot

Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.bot

Подробную информацию можно найти в руководстве по авторизации.

SearchMessages

rpc SearchMessages(SearchMessagesRequest) returns (SearchMessagesResponse)

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

Чтобы выполнить поиск по всем чат-группам, к которым у пользователя есть доступ, задайте для параметра parent значение spaces/-. Если указать любое другое значение для parent, возникнет ошибка INVALID_ARGUMENT. В возвращенных сообщениях поле name заполнено полным названием ресурса, которое включает определенный space, в котором находится сообщение.

Этот API возвращает не все типы сообщений. В ответ не включаются следующие типы сообщений: Чтобы посмотреть все сообщения, используйте ListMessages.

  • Личные сообщения, видимые пользователю, прошедшему аутентификацию.
  • Сообщения, опубликованные приложениями Chat в чат-группах или групповых чатах.
  • Сообщения в прямой переписке с приложением Chat.
  • Сообщения от заблокированных пользователей.
  • Сообщения в чат-группах, для которых вызывающий абонент отключил уведомления.

Требуется аутентификация пользователя с одной из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.messages.readonly
  • https://www.googleapis.com/auth/chat.messages
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.readonly

Подробную информацию можно найти в руководстве по авторизации.

SearchSpaces

rpc SearchSpaces(SearchSpacesRequest) returns (SearchSpacesResponse)

Возвращает список чат-групп в организации Google Workspace. Пример приведен в разделе Поиск чат-групп и управление ими.

Если для параметра use_admin_access задано значение false, результаты будут ограничены чат-группами, в которых состоит пользователь, выполняющий вызов. Чтобы выполнить поиск с правами администратора, задайте для параметра use_admin_access значение true.

Поддерживает следующие типы аутентификации:

Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.readonly
  • https://www.googleapis.com/auth/chat.admin.spaces
  • https://www.googleapis.com/auth/chat.admin.spaces.readonly

Подробную информацию можно найти в руководстве по авторизации.

SetUpSpace

rpc SetUpSpace(SetUpSpaceRequest) returns (Space)

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

Чтобы указать пользователей, которых нужно добавить, добавьте участников с соответствующим membership.member.name. Чтобы добавить пользователя, используйте users/{user}, где {user} – адрес электронной почты пользователя. Для пользователей из одной организации Workspace {user} также может быть id пользователя из People API или id пользователя из Directory API. Например, если идентификатор профиля пользователя user@example.com в People API – 123456789, вы можете добавить пользователя в чат-группу, задав для membership.member.name значение users/user@example.com или users/123456789.

Чтобы указать группы Google, которые нужно добавить, добавьте участников с соответствующим membership.group_member.name. Чтобы добавить или пригласить группу Google, используйте groups/{group}, где {group} – это id для группы из Cloud Identity Groups API. Например, вы можете использовать Cloud Identity Groups lookup API, чтобы получить идентификатор 123456789 для адреса электронной почты группы group@example.com, а затем добавить группу в чат-группу, установив для membership.group_member.name значение groups/123456789. Адреса электронной почты групп не поддерживаются, а группы Google можно добавлять только в качестве участников в чат-группы с названиями.

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

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

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

Если прямая переписка между двумя пользователями уже существует, даже если один пользователь заблокировал другого на момент отправки запроса, возвращается существующая прямая переписка.

Чат-группы с цепочками ответов не поддерживаются. Если при настройке чат-группы вы видите сообщение об ошибке ALREADY_EXISTS, попробуйте использовать другое значение displayName. Возможно, в организации Google Workspace уже есть чат-группа с таким отображаемым названием.

Требуется аутентификация пользователя с одной из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.spaces.create
  • https://www.googleapis.com/auth/chat.spaces
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.create

Подробную информацию можно найти в руководстве по авторизации.

UpdateAvailability

rpc UpdateAvailability(UpdateAvailabilityRequest) returns (Availability)

Обновляет информацию о доступности пользователя. С помощью этого метода можно обновить только поле custom_status.

Этот метод обновляет только доступность аутентифицированного пользователя.

Требуется аутентификация пользователя с одной из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.users.availability
Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.users.availability

Подробную информацию можно найти в руководстве по авторизации.

UpdateMembership

rpc UpdateMembership(UpdateMembershipRequest) returns (Membership)

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

Поддерживает следующие типы аутентификации:

  • Аутентификация приложения с одобрением администратора и областью авторизации:

    • https://www.googleapis.com/auth/chat.app.memberships (только в чат-группах, созданных приложением)
  • Аутентификация пользователя с одной из следующих областей авторизации:

    • https://www.googleapis.com/auth/chat.memberships
    • https://www.googleapis.com/auth/chat.import (только для чат-групп в режиме импорта)
    • Аутентификация пользователя предоставляет права администратора, когда аккаунт администратора проходит аутентификацию, use_admin_access – это true и используется следующая область авторизации:
      • https://www.googleapis.com/auth/chat.admin.memberships
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.app.memberships
  • https://www.googleapis.com/auth/chat.admin.memberships
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.memberships

Подробную информацию можно найти в руководстве по авторизации.

UpdateMessage

rpc UpdateMessage(UpdateMessageRequest) returns (Message)

Обновляет сообщение. Методы patch и update различаются. Метод patch использует запрос patch, а метод update – запрос put. Рекомендуем использовать метод patch. Пример приведен в разделе Как обновить сообщение.

Поддерживает следующие типы аутентификации:

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

Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.bot
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.messages

Подробную информацию можно найти в руководстве по авторизации.

UpdateSection

rpc UpdateSection(UpdateSectionRequest) returns (Section)

Обновляет раздел. Обновлять можно только разделы типа CUSTOM_SECTION. Подробнее о том, как создавать и упорядочивать разделы в Google Chat…

Требуется аутентификация пользователя с областью авторизации:

  • https://www.googleapis.com/auth/chat.users.sections
Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.users.sections

Подробную информацию можно найти в руководстве по авторизации.

UpdateSpace

rpc UpdateSpace(UpdateSpaceRequest) returns (Space)

Обновляет чат-группу. Пример приведен в разделе Обновление чат-группы.

Если вы обновляете поле displayName и получаете сообщение об ошибке ALREADY_EXISTS, попробуйте другое отображаемое название. Возможно, в организации Google Workspace уже есть чат-группа с таким отображаемым названием.

Поддерживает следующие типы аутентификации:

  • Аутентификация приложения с одобрением администратора и одной из следующих областей авторизации:

    • https://www.googleapis.com/auth/chat.app.spaces
  • Аутентификация пользователя с одной из следующих областей авторизации:

    • https://www.googleapis.com/auth/chat.spaces
    • https://www.googleapis.com/auth/chat.import (только для чат-групп в режиме импорта)
    • Аутентификация пользователя предоставляет права администратора, если аккаунт администратора проходит аутентификацию, use_admin_access – это true и используется следующая область авторизации:
      • https://www.googleapis.com/auth/chat.admin.spaces

Для аутентификации приложений действуют следующие ограничения:

  • Чтобы обновить space.predefined_permission_settings или space.permission_settings, приложение должно быть создателем чат-группы.
  • Обновление space.access_settings.audience не поддерживается для аутентификации приложения.
Области авторизации

Требует одной из следующих областей применения OAuth:

  • https://www.googleapis.com/auth/chat.app.spaces
  • https://www.googleapis.com/auth/chat.admin.spaces
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.spaces

Подробную информацию можно найти в руководстве по авторизации.

UpdateSpaceNotificationSetting

rpc UpdateSpaceNotificationSetting(UpdateSpaceNotificationSettingRequest) returns (SpaceNotificationSetting)

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

Требуется аутентификация пользователя с областью авторизации:

  • https://www.googleapis.com/auth/chat.users.spacesettings
Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.users.spacesettings

Подробную информацию можно найти в руководстве по авторизации.

UpdateSpaceReadState

rpc UpdateSpaceReadState(UpdateSpaceReadStateRequest) returns (SpaceReadState)

Обновляет статус прочтения пользователя в чат-группе, который используется для идентификации прочитанных и непрочитанных сообщений. Пример приведен в разделе Как обновить статус прочтения чат-группы пользователем.

Требуется аутентификация пользователя с областью авторизации:

  • https://www.googleapis.com/auth/chat.users.readstate
Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/chat.users.readstate

Подробную информацию можно найти в руководстве по авторизации.

AccessoryWidget

Один или несколько интерактивных виджетов, которые появляются внизу сообщения. Подробнее о том, как добавить интерактивные виджеты в нижнюю часть сообщения…

Поля
Объединенное поле action. Тип действия. action может иметь одно из следующих значений:
button_list

ButtonList

Список кнопок.

ActionResponse

Параметры, которые приложение Chat может использовать для настройки публикации ответа.

Поля
type

ResponseType

Только для ввода. Тип ответа приложения Chat.

url

string

Только для ввода. URL, по которому пользователи могут пройти аутентификацию или выполнить настройку. (Только для типов ответов REQUEST_CONFIG.)

dialog_action

DialogAction

Только для ввода. Ответ на событие взаимодействия, связанное с диалоговым окном. Должно сопровождаться ResponseType.Dialog.

updated_widget

UpdatedWidget

Только для ввода. Ответ обновленного виджета.

ResponseType

Тип ответа приложения Chat.

Перечисления
TYPE_UNSPECIFIED Тип по умолчанию, который обрабатывается как NEW_MESSAGE.
NEW_MESSAGE Опубликовать как новое сообщение в теме.
UPDATE_MESSAGE Обновить сообщение приложения Chat. Это разрешено только для события CARD_CLICKED, в котором тип отправителя сообщения – BOT.
UPDATE_USER_MESSAGE_CARDS Обновление карточек в сообщении пользователя. Это разрешено только в качестве ответа на событие MESSAGE с соответствующим URL или событие CARD_CLICKED, в котором тип отправителя сообщения – HUMAN. Текст игнорируется.
REQUEST_CONFIG Запросите у пользователя дополнительную аутентификацию или конфигурацию в личном сообщении.
DIALOG Показывает диалоговое окно.
UPDATE_WIDGET Запрос вариантов автозаполнения текста виджета.

SelectionItems

Список результатов автозаполнения виджета.

Поля
items[]

SelectionItem

Массив объектов SelectionItem.

UpdatedWidget

Для виджетов selectionInput возвращает подсказки автозаполнения для меню с множественным выбором.

Поля
widget

string

Идентификатор обновленного виджета. Идентификатор должен совпадать с идентификатором виджета, который инициировал запрос на обновление.

Объединенное поле updated_widget. Виджет обновился в ответ на действие пользователя. updated_widget может иметь одно из следующих значений:
suggestions

SelectionItems

Список результатов автозаполнения виджета

ActionStatus

Представляет статус запроса на вызов или отправку диалогового окна.

Поля
status_code

Code

Код статуса.

user_facing_message

string

Сообщение, которое будет отправлено пользователям, о статусе их запроса. Если значение не задано, отправляется стандартное сообщение на основе status_code.

Аннотация

Аннотации могут быть связаны с обычным текстом сообщения или с чипами, которые ссылаются на ресурсы Google Workspace, например Google Документы или Таблицы, со значениями start_index и length, равными 0. Подробнее о том, как форматировать текстовые сообщения…

Пример текста письма в формате обычного текста:

Hello @FooBot how are you!"

Метаданные соответствующих аннотаций:

"annotations":[{
  "type":"USER_MENTION",
  "startIndex":6,
  "length":7,
  "userMention": {
    "user": {
      "name":"users/{user}",
      "displayName":"FooBot",
      "avatarUrl":"https://goo.gl/aeDtrS",
      "type":"BOT"
    },
    "type":"MENTION"
   }
}]
Поля
type

AnnotationType

Тип заметки.

length

int32

Длина подстроки в обычном тексте сообщения, которой соответствует эта аннотация. Если не указано, длина равна 0.

start_index

int32

Начальный индекс (начиная с 0, включительно) в теле сообщения в виде обычного текста, которому соответствует эта аннотация.

Объединенное поле metadata. Дополнительные метаданные о заметке. metadata может иметь одно из следующих значений:
user_mention

UserMentionMetadata

Метаданные упоминания пользователя.

slash_command

SlashCommandMetadata

Метаданные слеш-команды.

custom_emoji_metadata

CustomEmojiMetadata

Метаданные для собственного эмодзи.

AnnotationType

Тип аннотации.

Перечисления
ANNOTATION_TYPE_UNSPECIFIED Значение по умолчанию для перечисления. Не использовать.
USER_MENTION Пользователь упомянут.
SLASH_COMMAND Вызывается слеш-команда.
CUSTOM_EMOJI Аннотация к собственному эмодзи.

AppCommandMetadata

Метаданные о команде приложения Chat.

Поля
app_command_id

int32

Идентификатор команды, указанный в конфигурации Chat API.

app_command_type

AppCommandType

Тип команды приложения Chat.

AppCommandType

Тип команды приложения Chat. Подробнее о типах команд приложений Chat…

Перечисления
APP_COMMAND_TYPE_UNSPECIFIED Значение по умолчанию. Не указано.
SLASH_COMMAND Слеш-команда. Пользователь отправляет команду в сообщении Chat.
QUICK_COMMAND Быстрая команда. Пользователь выбирает команду из меню Chat в области ответа на сообщение.
MESSAGE_ACTION Действие с сообщением. Пользователь выбирает команду из контекстного меню сообщения в Chat.

AttachedGif

GIF-изображение, указанное в URL.

Поля
uri

string

Только для вывода. URL, по которому размещено GIF-изображение.

Прикрепленный файл

Прикрепленный файл в Google Chat.

Поля
name

string

Идентификатор. Название ресурса прикрепленного файла.

Формат: spaces/{space}/messages/{message}/attachments/{attachment}.

content_name

string

Только для вывода. Исходное название файла, а не полный путь к нему.

content_type

string

Только для вывода. Тип контента (MIME-тип) файла.

thumbnail_uri

string

Только для вывода. URL уменьшенного изображения, которое должно использоваться для предварительного просмотра прикрепленного файла. Приложения Chat не должны использовать этот URL для скачивания контента прикрепленных файлов.

download_uri

string

Только для вывода. URL, по которому пользователь может скачать прикрепленный файл. Приложениям Chat не следует использовать этот URL для скачивания контента прикрепленных файлов.

source

Source

Только для вывода. Источник прикрепленного файла.

Объединенное поле data_ref. Ссылка на данные прикрепленного файла. data_ref может иметь одно из следующих значений:
attachment_data_ref

AttachmentDataRef

Необязательное поле. Ссылка на данные прикрепленного файла. Это поле используется для создания или обновления сообщений с прикрепленными файлами, а также для скачивания данных прикрепленных файлов с помощью Media API.

drive_data_ref

DriveDataRef

Только для вывода. Ссылка на прикрепленный файл на Google Диске. Это поле используется с Google Drive API.

Источник

Источник прикрепленного файла.

Перечисления
SOURCE_UNSPECIFIED Зарезервировано.
DRIVE_FILE Файл хранится на Google Диске.
UPLOADED_CONTENT Файл загружен в Chat.

AttachmentDataRef

Ссылка на данные прикрепленного файла.

Поля
resource_name

string

Необязательное поле. Название ресурса данных прикрепленного файла. Это поле используется с Media API для скачивания данных прикрепленного файла.

attachment_upload_token

string

Необязательное поле. Непрозрачный токен, содержащий ссылку на загруженное прикрепление. Клиенты обрабатывают его как непрозрачную строку и используют для создания или обновления сообщений Chat с прикрепленными файлами.

Аудитория

Целевая аудитория в Google Chat. Целевая аудитория – это группа пользователей в организации Google Workspace, определенная администратором. Целевые аудитории используются для настройки доступа к ресурсам и их видимости, например для того, чтобы сделать чат-группу доступной для определенной группы пользователей.

Подробнее о целевых аудиториях и о том, как сделать чат-группу доступной для поиска целевой аудитории…

Поля
name

string

Название ресурса целевой аудитории, которая может находить чат-группу и присоединяться к ней. Подробнее о том, как сделать чат-группу доступной для поиска целевой аудиторией… Формат: audiences/{audience}

Чтобы использовать целевую аудиторию по умолчанию для организации Google Workspace, выберите audiences/default.

Доступность

Представляет информацию о текущей доступности пользователя в Google Chat, включая его состояние (например, "Активен", "Нет на месте", "Не беспокоить") и любой настраиваемый статус.

Поля
name

string

Идентификатор. Название ресурса доступности пользователя.

Формат: users/{user}/availability

{user} – идентификатор пользователя в People API или Admin SDK Directory API. Пример: users/123456789.

Адрес электронной почты пользователя или me также можно использовать в качестве псевдонима для ссылки на вызывающего абонента. Примеры: users/user@example.com или users/me.

state

State

Только для вывода. Текущий статус доступности пользователя.

custom_status

CustomStatus

Необязательное поле. Пользовательский статус.

Объединенное поле state_metadata. Дополнительные метаданные, связанные со статусом доступности пользователя. state_metadata может иметь одно из следующих значений:
do_not_disturb_metadata

DoNotDisturbMetadata

Только для вывода. Метаданные, если для статуса пользователя задано значение DO_NOT_DISTURB.

Штат

Представляет текущий статус доступности пользователя.

Перечисления
STATE_UNSPECIFIED Значение по умолчанию. Статус не указан.
ACTIVE Пользователь активен в настоящее время (на основе недавних действий).
IDLE Пользователь сейчас неактивен. Этот статус указывает на период бездействия после статуса ACTIVE, прежде чем перейти в статус AWAY.
AWAY Пользователь сейчас не на связи. Этот статус может устанавливаться автоматически после периода бездействия в статусе ACTIVE или IDLE, а также вручную пользователем. Если статус задан вручную с помощью MarkAsAway, он сохраняется независимо от действий пользователя.
DO_NOT_DISTURB Пользователь вручную включил режим "Не беспокоить".

CalendarEventLinkData

Данные для ссылок на мероприятия в Календаре.

Поля
calendar_id

string

Идентификатор календаря, связанного с ресурсом.

event_id

string

Идентификатор мероприятия из связанного мероприятия из календаря.

CardWithId

Карточка в сообщении Google Chat.

Приложения для Chat могут создавать карточки с аутентификацией приложения. В рамках предварительной версии для разработчиков, если ваше приложение Chat выполняет аутентификацию от имени пользователя, оно может создавать сообщения с карточками. Если ваше приложение Chat не участвует в программе предварительной версии для разработчиков, оно не может создавать карточки с аутентификацией пользователей.

Подробнее о том, как создать сообщение, содержащее карточки…

Создавайте и просматривайте карточки с помощью Card Builder.

Как открыть Card Builder

Поля
card_id

string

Обязательно, если сообщение содержит несколько карточек. Уникальный идентификатор карточки в сообщении.

card

Card

Подсказка. Максимальный размер – 32 КБ.

owner_user

User

Только для вывода. Приложение, которому принадлежит карта.

ChatSpaceLinkData

Данные для ссылок на чат-группы Chat.

Поля
space

string

Чат-группа связанного ресурса чат-группы.

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

thread

string

Цепочка связанного ресурса чат-группы Google Chat.

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

message

string

Сообщение связанного ресурса чат-группы Google Chat.

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

Цитата

Цитаты – это встроенные ссылки, которые могут предоставлять пользователям более подробную информацию о встроенной ссылке. В тексте сообщения должны быть соответствующие встроенные цитаты в формате разметки <chat-citation data-id="{id}">{text}</chat-citation>. Цитаты поддерживаются, только если для параметра markup_syntax сообщения задано значение MARKDOWN.

Цитаты в Elements.citations, на которые нет ссылок (то есть без соответствующего тега <chat-citation> в тексте сообщения), игнорируются и не приводят к отклонению сообщения.

Поля
id

string

Обязательно. Идентификатор, заданный приложением. Должно содержать только буквы и цифры ASCII и не более 63 символов.

cited_sources[]

CitedSource

Необязательное поле. Список источников, связанных с цитатой. Источники показываются во всплывающей карточке цитаты.

CitedSource

Ссылка на источник информации.

Поля
title

string

Обязательно. Название CitedSource в виде обычного текста. Это поле не поддерживает форматирование.

uri

string

Обязательно. URI, указывающий на ресурс, на который ссылается этот CitedSource.

snippet

Snippet

Необязательное поле. Фрагмент, содержащий информацию непосредственно из источника.

footer

Footer

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

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

Поля
text

string

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

Описание

Объект фрагмента, представляющий собой отрывок из более крупного корпуса.

Поля
text

string

Необязательное поле. Короткий текстовый фрагмент из корпуса, который может быть показан в Chat. Формат Markdown не поддерживается.

image_preview

ElementsImage

Необязательное поле. Предварительный просмотр фрагмента, предоставленного в качестве входных данных при создании цитаты.

CompleteImportSpaceRequest

Сообщение с запросом на завершение процесса импорта для чат-группы.

Поля
name

string

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

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

CompleteImportSpaceResponse

Ответное сообщение о завершении процесса импорта для чат-группы.

Поля
space

Space

Чат-группа в режиме импорта.

ContextualAddOnMarkup

У этого типа нет полей.

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

подсказка;

Карточка – это элемент интерфейса, который может содержать виджеты, например текст и изображения.

Поля
header

CardHeader

Заголовок карточки. Обычно в нем есть заголовок и изображение.

sections[]

Section

Разделы отделены друг от друга линией.

card_actions[]

CardAction

Действия этой карточки.

name

string

Название карты.

CardAction

Действие карточки – это действие, связанное с карточкой. Для карточки счета типичным действием будет удаление счета, отправка счета по электронной почте или открытие счета в браузере.

Не поддерживается приложениями Google Chat.

Поля
action_label

string

Ярлык, который раньше показывался в пункте меню действий.

on_click

OnClick

Действие, выполняемое при нажатии на эту задачу.

CardHeader

Поля
title

string

Укажите название. Заголовок имеет фиксированную высоту: если указаны и заголовок, и подзаголовок, каждый из них занимает одну строку. Если указан только заголовок, он занимает обе строки.

subtitle

string

Подзаголовок карточки.

image_style

ImageStyle

Тип изображения (например, квадратная или круглая рамка).

image_url

string

URL изображения в заголовке карточки.

ImageStyle

Перечисления
IMAGE_STYLE_UNSPECIFIED
IMAGE Квадратная рамка.
AVATAR Круглая рамка.

Раздел

Раздел содержит набор виджетов, которые отображаются (вертикально) в указанном порядке. На всех платформах карточки имеют фиксированную ширину, поэтому свойства макета (например, float) не требуются.

Поля
header

string

Заголовок раздела. Поддерживается форматированный текст. Дополнительную информацию о форматировании текста можно найти в статьях Форматирование текста в приложениях Google Chat и Форматирование текста в дополнениях Google Workspace.

widgets[]

WidgetMarkup

В разделе должен быть хотя бы один виджет.

CreateCustomEmojiRequest

Запрос на создание пользовательского эмодзи.

Поля
custom_emoji

CustomEmoji

Обязательно. Пользовательский эмодзи, который нужно создать.

CreateMembershipRequest

Сообщение запроса на создание членства.

Поля
parent

string

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

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

membership

Membership

Обязательно. Отношение участия, которое нужно создать.

В поле memberType должен быть указан пользователь, для которого заполнены поля user.name и user.type. Сервер назначит название ресурса и перезапишет все указанные значения.

Когда приложение Chat создает отношение участия для пользователя, оно должно использовать определенные области авторизации и задать определенные значения для некоторых полей:

  • При аутентификации в качестве пользователя требуется область авторизации chat.memberships.

  • При аутентификации в качестве приложения требуется область авторизации chat.app.memberships.

  • Задайте для user.type значение HUMAN, а для user.name – формат users/{user}, где {user} может быть адресом электронной почты пользователя. Для пользователей в одной организации Workspace {user} также может быть id пользователя из People API или id пользователя в Directory API. Например, если идентификатор профиля пользователя user@example.com в People API – 123456789, вы можете добавить пользователя в чат-группу, задав для membership.member.name значение users/user@example.com или users/123456789.

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

Когда приложение Chat создает для себя отношение участия, оно должно выполнить аутентификацию от имени пользователя и использовать область действия chat.memberships.app, задать для user.type значение BOT, а для user.name – значение users/app.

use_admin_access

bool

Необязательное поле. Если задано значение true, метод выполняется с правами администратора Google Workspace.

Пользователь, вызывающий метод, должен быть администратором Google Workspace с правом на управление чатами и чат-группами.

Требуется область действия OAuth 2.0 chat.admin.memberships.

Создание участников-приложений или участников, не входящих в организацию Google Workspace администратора, не поддерживается при использовании доступа с правами администратора.

CreateMessageNotificationOptions

Параметры уведомлений при публикации сообщения.

Поля
notification_type

NotificationType

Тип уведомления для сообщения.

NotificationType

Типы уведомлений для сообщения.

Перечисления
NOTIFICATION_TYPE_NONE Режим работы по умолчанию. Уведомления работают так же, как если бы сообщение отправлял пользователь в интерфейсе Chat: отправитель не получает уведомление.
NOTIFICATION_TYPE_FORCE_NOTIFY

Принудительно уведомлять получателей. При этом игнорируются настройки уведомлений чат-группы и режим "Не беспокоить" в Chat. Этот параметр не отменяет настройки режима "Не беспокоить" на уровне устройства.

Требуется аутентификация приложения.

NOTIFICATION_TYPE_SILENT

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

Требуется аутентификация приложения.

CreateMessagePinRequest

Сообщение с запросом на закрепление сообщения.

Поля
parent

string

Обязательно. Родительская чат-группа, в которой нужно закрепить сообщение. Формат: spaces/{space}

message_pin

MessagePin

Обязательно. Закрепленное сообщение, которое нужно создать.

CreateMessageRequest

Создает сообщение.

Поля
parent

string

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

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

message

Message

Обязательно. Текст сообщения.

thread_key
(deprecated)

string

Необязательное поле. Устарело. Используйте вместо него thread.thread_key. Идентификатор цепочки. Максимальная длина – 4000 символов. Чтобы начать цепочку или добавить в нее сообщение, создайте сообщение и укажите threadKey или thread.name. Пример использования приведен в разделе Как начать цепочку или ответить в ней.

request_id

string

Необязательное поле. Уникальный идентификатор запроса. Рекомендуется использовать случайный UUID. Указание идентификатора запроса делает запрос идемпотентным, что гарантирует, что несколько идентичных запросов с одним и тем же идентификатором запроса приведут к созданию только одного сообщения. Последующие запросы с тем же идентификатором возвращают существующее сообщение и не обновляют его, даже если запрашиваемые сведения отличаются от текущего состояния.

Чтобы эффективно использовать это поле:

  • Убедитесь, что последующие запросы идентичны и используют те же учетные данные для аутентификации, что и исходный запрос.
  • Если сообщение с указанным идентификатором запроса уже создано, запрос возвращает это сообщение. Обратите внимание, что возвращенное сообщение может быть заполнено не полностью. API возвращает сообщение из вашего запроса с заполненными названиями ресурсов, назначенными системой. Чтобы получить последние метаданные сообщения, вызовите GetMessage.
  • Повторное использование существующего идентификатора запроса с другим аутентифицированным пользователем приведет к ошибке.
message_reply_option

MessageReplyOption

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

При ответе на действия пользователя это поле игнорируется. Если вы отвечаете на сообщение из цепочки, ответ будет создан в той же цепочке. В противном случае ответ будет создан как новая цепочка.

message_id

string

Необязательное поле. Пользовательский идентификатор сообщения. Позволяет приложениям Chat получать, обновлять или удалять сообщения без необходимости хранить назначенный системой идентификатор в названии ресурса сообщения (представленном в поле сообщения name).

Значение этого поля должно соответствовать следующим требованиям:

  • Начинается с client-. Например, client-custom-name – это допустимый пользовательский идентификатор, а custom-name – нет.
  • Содержит до 63 символов и только строчные буквы, цифры и дефисы.
  • Уникально в пределах чат-группы. Приложение Chat не может использовать один и тот же пользовательский идентификатор для разных сообщений.

Подробнее о том, как задать название сообщения…

create_message_notification_options

CreateMessageNotificationOptions

Необязательное поле. Определяет, как будет работать уведомление при публикации сообщения. Подробнее о том, как принудительно отправлять уведомления или отправлять сообщения без уведомлений…

MessageReplyOption

Указывает, как ответить на сообщение. В будущем могут быть добавлены и другие штаты.

Перечисления
MESSAGE_REPLY_OPTION_UNSPECIFIED По умолчанию. Начать новый чат. При этом игнорируются все включенные значения thread ID или thread_key.
REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD Создает сообщение в качестве ответа в цепочке, указанной в параметре thread ID или thread_key. Если это не удается, сообщение начинает новую цепочку.
REPLY_MESSAGE_OR_FAIL Создает сообщение как ответ в цепочке, указанной в thread ID или thread_key. Если используется новый thread_key, создается новая цепочка. Если создать сообщение не удается, возвращается ошибка NOT_FOUND.

CreateReactionRequest

Создает реакцию на сообщение.

Поля
parent

string

Обязательно. Сообщение, на которое отправлена реакция.

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

reaction

Reaction

Обязательно. Реакция, которую нужно создать.

CreateSectionRequest

Сообщение запроса на создание раздела.

Поля
parent

string

Обязательно. Название родительского ресурса, в котором создан раздел.

Формат: users/{user}

section

Section

Обязательно. Раздел, который нужно создать.

CreateSpaceRequest

Запрос на создание именованной чат-группы без участников.

Поля
space

Space

Обязательно. Необходимо заполнить поля displayName и spaceType. Поддерживаются только SpaceType.SPACE и SpaceType.GROUP_CHAT. SpaceType.GROUP_CHAT можно использовать, только если для importMode задано значение True.

Если вы видите сообщение об ошибке ALREADY_EXISTS, попробуйте другой displayName. Возможно, в организации Google Workspace уже есть чат-группа с таким отображаемым названием.

Пробел name назначается на сервере, поэтому все, что указано в этом поле, будет игнорироваться.

request_id

string

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

Чтобы эффективно использовать это поле:

  • Убедитесь, что последующие запросы идентичны и используют те же учетные данные для аутентификации, что и исходный запрос.
  • Если чат-группа с указанным идентификатором запроса уже создана, запрос возвращает эту чат-группу. Обратите внимание, что возвращенное пространство может быть заполнено не полностью. API возвращает пространство в вашем запросе с заполненным именем ресурса, назначенным системой. Чтобы получить последние метаданные чат-группы, вызовите GetSpace.
  • Повторное использование существующего идентификатора запроса с другим аутентифицированным пользователем приведет к ошибке.

CustomEmoji

Представляет собственный эмодзи.

Поля
name

string

Идентификатор. Название ресурса пользовательского эмодзи, назначенное сервером.

Формат: customEmojis/{customEmoji}

uid

string

Только для вывода. Уникальный ключ для ресурса собственного эмодзи.

emoji_name

string

Необязательное поле. Не меняется. Указанное пользователем название эмодзи, уникальное в пределах организации.

Обязательно при создании пользовательского эмодзи, в остальных случаях – только для вывода.

Названия эмодзи должны начинаться и заканчиваться двоеточием, состоять из символов нижнего регистра и могут включать только буквы и цифры, дефисы и знаки подчеркивания. С помощью дефисов и символов подчеркивания можно разделять слова. Использовать несколько таких символов подряд нельзя.

Пример: :valid-emoji-name:

temporary_image_uri

string

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

payload

CustomEmojiPayload

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

CustomEmojiPayload

Полезная нагрузка для пользовательского эмодзи.

Поля
file_content

bytes

Обязательно. Только для ввода. Изображение, используемое для собственного эмодзи.

Размер файла не должен превышать 256 КБ, а размер изображения должен быть квадратным и составлять от 64 до 500 пикселей. Ограничения могут меняться.

filename

string

Обязательно. Только для ввода. Название графического файла.

Поддерживаемые расширения файлов: .png, .jpg, .gif.

CustomEmojiMetadata

Метаданные аннотации для пользовательских эмодзи.

Поля
custom_emoji

CustomEmoji

Собственный эмодзи.

CustomStatus

Представляет пользовательский статус в Google Chat. Это короткое текстовое сообщение с необязательным эмодзи, которое пользователь устанавливает, чтобы предоставить больше контекста о своей доступности.

Поля
text

string

Обязательно. Текст статуса. Это строка длиной не более 64 символов.

emoji

Emoji

Обязательно. Эмодзи пользовательского статуса. Поддерживаются только эмодзи Unicode. Пользовательские эмодзи не поддерживаются.

Объединенное поле expiration. Срок действия статуса. Его можно указать как абсолютную временную метку или как время жизни. expiration может иметь одно из следующих значений:
expire_time

Timestamp

Временная метка, когда срок действия статуса истекает.

ttl

Duration

Только для ввода. Срок действия статуса.

DeleteCustomEmojiRequest

Запрос на удаление собственного эмодзи.

Поля
name

string

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

Формат: customEmojis/{customEmoji}

Вы можете использовать название эмодзи в качестве псевдонима для {customEmoji}. Например, customEmojis/:example-emoji:, где :example-emoji: – название собственного эмодзи.

DeleteMembershipRequest

Запрос на удаление участника из чат-группы.

Поля
name

string

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

При удалении пользователя требуется область действия chat.memberships с аутентификацией пользователя или область действия chat.memberships.app с аутентификацией приложения и форматом spaces/{space}/members/{member}. Вы можете использовать этот адрес как псевдоним для {member}. Например, spaces/{space}/members/example@gmail.com, где example@gmail.com – адрес электронной почты пользователя Google Chat.

При удалении участника приложения требуется область действия chat.memberships.app и формат spaces/{space}/members/app.

Формат: spaces/{space}/members/{member} или spaces/{space}/members/app.

use_admin_access

bool

Необязательное поле. Если задано значение true, метод выполняется с правами администратора Google Workspace.

Пользователь, вызывающий метод, должен быть администратором Google Workspace с правом на управление чатами и чат-группами.

Требуется область действия OAuth 2.0 chat.admin.memberships.

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

DeleteMessagePinRequest

Сообщение с запросом на удаление закрепленного сообщения.

Поля
name

string

Обязательно. Название ресурса закрепленного сообщения, которое нужно удалить. Формат: spaces/{space}/messagePins/{message_pin}

DeleteMessageRequest

Запрос на удаление сообщения.

Поля
name

string

Обязательно. Название ресурса сообщения.

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

Если вы задали пользовательский идентификатор для сообщения, то можете использовать значение из поля clientAssignedMessageId для {message}. Подробнее о том, как задать название сообщения…

force

bool

Необязательное поле. Если true, при удалении сообщения также удаляются ответы в цепочке. Если false, то при наличии ответов в цепочке сообщение не удаляется.

Применяется только при аутентификации в качестве пользователя. Не действует при аутентификации в качестве приложения Chat.

DeleteReactionRequest

Удаляет реакцию на сообщение.

Поля
name

string

Обязательно. Название реакции, которую нужно удалить.

Формат: spaces/{space}/messages/{message}/reactions/{reaction}

DeleteSectionRequest

Сообщение с запросом на удаление раздела.

Поля
name

string

Обязательно. Название раздела, который нужно удалить.

Формат: users/{user}/sections/{section}

DeleteSpaceRequest

Запрос на удаление чат-группы.

Поля
name

string

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

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

use_admin_access

bool

Необязательное поле. Если задано значение true, метод выполняется с правами администратора Google Workspace.

Пользователь, вызывающий метод, должен быть администратором Google Workspace с правом на управление чатами и чат-группами.

Требуется область действия OAuth 2.0 chat.admin.delete.

DeletionMetadata

Информация об удаленном сообщении. Сообщение удаляется, когда задано значение delete_time.

Поля
deletion_type

DeletionType

Указывает, кто удалил сообщение.

DeletionType

Кто удалил сообщение и как это было сделано. В будущем могут быть добавлены другие значения. Подробнее о том, как изменить или удалить сообщение в Google Chat…

Перечисления
DELETION_TYPE_UNSPECIFIED Это значение не используется.
CREATOR Пользователь удалил свое сообщение.
SPACE_OWNER Сообщение удалено владельцем или менеджером.
ADMIN Сообщение удалено администратором Google Workspace. Администраторы могут удалять любые сообщения в чат-группе, в том числе отправленные участниками или приложением Chat.
APP_MESSAGE_EXPIRY Приложение Chat удалило свое сообщение по истечении срока его действия.
CREATOR_VIA_APP Приложение Chat удалило сообщение от имени автора (с использованием аутентификации пользователя).
SPACE_OWNER_VIA_APP Приложение Chat удалило сообщение от имени менеджера чат-группы (с использованием аутентификации пользователя).
SPACE_MEMBER Сообщение удалено участником чат-группы. Пользователи могут удалять сообщения, отправленные приложениями.

Dialog

Оболочка вокруг тела карточки диалогового окна.

Поля
body

Card

Только для ввода. Текст диалогового окна, который отображается в модальном окне. Приложения Google Chat не поддерживают следующие объекты карточек: DateTimePicker, OnChangeAction.

DialogAction

Содержит диалоговое окно и код статуса запроса.

Поля
action_status

ActionStatus

Только для ввода. Статус запроса на вызов или отправку диалогового окна. При необходимости показывает пользователям статус и сообщение. например в случае ошибки или успешного выполнения.

Объединенное поле action. Действие, которое нужно выполнить. action может иметь одно из следующих значений:
dialog

Dialog

Только для ввода. Диалоговое окно для запроса.

DoNotDisturbMetadata

Метаданные, связанные со статусом доступности DO_NOT_DISTURB и указывающие, когда истекает срок действия статуса.

Поля
expiration_time

Timestamp

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

DriveDataRef

Ссылка на данные прикрепленного файла на Диске.

Поля
drive_file_id

string

Идентификатор файла на Диске. Используйте с Drive API.

DriveLinkData

Данные для ссылок на Google Диск.

Поля
drive_data_ref

DriveDataRef

DriveDataRef, который ссылается на файл Google Диска.

mime_type

string

MIME-тип связанного ресурса Google Диска.

Элементы

Элементы – это дополнительные компоненты, которые могут быть связаны с текстом сообщения, указанным при его создании.

Поля
cited_sources[]

CitedSource

Список источников, которые будут показаны под сообщением в виде ссылок в нижнем колонтитуле. Они не упоминаются в тексте. Для встроенных ссылок используйте citations.

citations[]

Citation

Список встроенных цитат, на которые ссылается текст сообщения (через теги <chat-citation>). Они отображаются в виде интерактивных всплывающих карточек.

ElementsImage

Объект, инкапсулирующий разные способы представления изображения. Поддерживаемые в настоящее время представления: - Изображение, полученное из URI. В будущем могут поддерживаться дополнительные представления.

Поля
Объединенное поле image. Обязательно. Одно из поддерживаемых представлений изображений. image может иметь одно из следующих значений:
image_uri

string

Обязательно. Общедоступный URI изображения.

Эмодзи

Эмодзи, который используется в качестве реакции на сообщение.

Поля
Объединенное поле content. Обязательно. Содержимое эмодзи. content может иметь одно из следующих значений:
unicode

string

Необязательное поле. Базовый эмодзи, представленный строкой Unicode.

custom_emoji

CustomEmoji

Собственный эмодзи.

EmojiReactionSummary

Количество пользователей, которые отреагировали на сообщение определенным эмодзи.

Поля
emoji

Emoji

Только для вывода. Эмодзи, связанные с реакциями.

reaction_count

int32

Только для вывода. Общее количество реакций с использованием связанного эмодзи.

FindDirectMessageRequest

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

Поля
name

string

Обязательно. Название ресурса пользователя, с которым нужно найти прямую переписку.

Формат: users/{user}, где {user} – это id для пользователя из People API или id для пользователя в Directory API. Например, если идентификатор профиля People API – 123456789, вы можете найти прямую переписку с этим пользователем, указав users/123456789 в качестве name. При аутентификации в качестве пользователя вы можете использовать адрес электронной почты как псевдоним для {user}. Например, users/example@gmail.com, где example@gmail.com – адрес электронной почты пользователя Google Chat.

FindGroupChatsRequest

Запрос на получение чат-групп на основе ресурсов пользователя.

Поля
users[]

string

Необязательное поле. Названия ресурсов всех пользователей в групповом чате с вызывающим пользователем. Приложения Chat нельзя включить в запрос.

Максимальное количество пользователей, которое можно указать в одном запросе, – 49.

Формат: users/{user}, где {user} – это id для пользователя из People API или id для пользователя в Directory API. Например, чтобы найти все групповые чаты с вызывающим пользователем и двумя другими пользователями с идентификаторами профилей People API 123456789 и 987654321, можно использовать users/123456789 и users/987654321. Вы также можете использовать этот адрес как псевдоним для {user}. Например, users/example@gmail.com, где example@gmail.com – адрес электронной почты пользователя Google Chat.

page_size

int32

Необязательное поле. Максимальное количество чат-групп, которые нужно вернуть. Сервис может вернуть меньше результатов, чем указано в этом значении.

Если значение не указано, возвращается не более 10 чат-групп.

Максимальное значение – 30. Если вы укажете значение больше 30, оно будет автоматически изменено на 30.

Если указать отрицательное значение, возвращается ошибка INVALID_ARGUMENT.

page_token

string

Необязательное поле. Токен страницы, полученный из предыдущего вызова для поиска групповых чатов. Укажите этот параметр, чтобы получить следующую страницу.

При разбиении на страницы все остальные параметры должны соответствовать вызову, который предоставил токен. Передача разных значений может привести к неожиданным результатам.

space_view

SpaceView

Запрошенный тип представления чат-группы. Если значение не задано, по умолчанию используется SPACE_VIEW_RESOURCE_NAME_ONLY. Запросы, в которых указано SPACE_VIEW_EXPANDED, должны включать области действия, разрешающие чтение данных чат-группы, например https://www.googleapis.com/auth/chat.spaces или https://www.googleapis.com/auth/chat.spaces.readonly.

FindGroupChatsResponse

Ответ, содержащий пространства группового чата, в которых участвуют именно вызывающий пользователь и запрошенные пользователи.

Поля
spaces[]

Space

Список чат-групп на запрошенной (или первой) странице.

next_page_token

string

Токен, который можно отправить как pageToken, чтобы получить следующую страницу результатов. Если поле пустое, значит последующих страниц нет.

ForwardedMetadata

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

Поля
space

string

Только для вывода. Название ресурса исходной чат-группы. Формат: spaces/{space}

space_display_name

string

Только для вывода. Отображаемое название исходной чат-группы или прямой переписки на момент пересылки. Для SPACE это название чат-группы. Для DIRECT_MESSAGE это имя другого участника (например, "Пользователь А"). Для GROUP_CHAT это сгенерированное название на основе имен участников, ограниченное 5 именами, включая создателя (например, "Пользователь А, Пользователь Б").

GetAttachmentRequest

Запрос на получение прикрепленного файла.

Поля
name

string

Обязательно. Название ресурса прикрепленного файла в формате spaces/{space}/messages/{message}/attachments/{attachment}.

GetAvailabilityRequest

Сообщение запроса для метода GetAvailability.

Поля
name

string

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

Формат: users/{user}/availability.

{user} – идентификатор пользователя в People API или Admin SDK Directory API. Пример: users/123456789.

Адрес электронной почты пользователя или me также можно использовать в качестве псевдонима для ссылки на вызывающего абонента. Примеры: users/user@example.com или users/me.

GetCustomEmojiRequest

Запрос на возврат одного пользовательского эмодзи.

Поля
name

string

Обязательно. Название ресурса собственного эмодзи.

Формат: customEmojis/{customEmoji}

Вы можете использовать название эмодзи в качестве псевдонима для {customEmoji}. Например, customEmojis/:example-emoji:, где :example-emoji: – название собственного эмодзи.

GetMembershipRequest

Запросить участие в чат-группе.

Поля
name

string

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

Чтобы получить информацию об участии приложения в чате с помощью аутентификации пользователя, можно использовать spaces/{space}/members/app.

Формат: spaces/{space}/members/{member} или spaces/{space}/members/app.

Вы можете использовать адрес электронной почты пользователя в качестве псевдонима для {member}. Например, spaces/{space}/members/example@gmail.com, где example@gmail.com – адрес электронной почты пользователя Google Chat.

use_admin_access

bool

Необязательное поле. Если задано значение true, метод выполняется с правами администратора Google Workspace.

Пользователь, вызывающий метод, должен быть администратором Google Workspace с правом на управление чатами и чат-группами.

Требуются области действия OAuth 2.0 chat.admin.memberships или chat.admin.memberships.readonly.

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

GetMessageRequest

Запросите сообщение.

Поля
name

string

Обязательно. Название ресурса сообщения.

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

Если вы задали пользовательский идентификатор для сообщения, то можете использовать значение из поля clientAssignedMessageId для {message}. Подробнее о том, как задать название сообщения…

markup_syntax

MarkupSyntax

Необязательное поле. Указывает желаемый синтаксис выходных данных для поля сообщения чата formatted_text.

GetSpaceEventRequest

Сообщение с запросом на получение события чат-группы.

Поля
name

string

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

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

GetSpaceNotificationSettingRequest

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

Поля
name

string

Обязательно. Формат: users/{user}/spaces/{space}/spaceNotificationSetting

  • users/me/spaces/{space}/spaceNotificationSetting, ИЛИ
  • users/user@example.com/spaces/{space}/spaceNotificationSetting, ИЛИ
  • users/123456789/spaces/{space}/spaceNotificationSetting. Примечание. В пути можно указать только идентификатор пользователя или адрес электронной почты вызывающего абонента.

GetSpaceReadStateRequest

Сообщение запроса для GetSpaceReadState API.

Поля
name

string

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

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

Чтобы сослаться на вызывающего пользователя, задайте одно из следующих значений:

  • Псевдоним me. Пример: users/me/spaces/{space}/spaceReadState.

  • Адрес электронной почты Workspace. например users/user@example.com/spaces/{space}/spaceReadState (2-е издание).

  • идентификатор пользователя; например users/123456789/spaces/{space}/spaceReadState (2-е издание).

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

GetSpaceRequest

Запрос на возврат одного чат-пространства.

Поля
name

string

Обязательно. Название ресурса чат-группы в формате spaces/{space}.

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

use_admin_access

bool

Необязательное поле. Если задано значение true, метод выполняется с правами администратора Google Workspace.

Пользователь, вызывающий метод, должен быть администратором Google Workspace с правом на управление чатами и чат-группами.

Требуются области действия OAuth 2.0 chat.admin.spaces или chat.admin.spaces.readonly.

GetThreadReadStateRequest

Сообщение запроса для GetThreadReadStateRequest API.

Поля
name

string

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

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

Чтобы сослаться на вызывающего пользователя, задайте одно из следующих значений:

  • Псевдоним me. Пример: users/me/spaces/{space}/threads/{thread}/threadReadState.

  • Адрес электронной почты Workspace. например users/user@example.com/spaces/{space}/threads/{thread}/threadReadState (2-е издание).

  • Идентификатор пользователя. например users/123456789/spaces/{space}/threads/{thread}/threadReadState (2-е издание).

Формат: users/{user}/spaces/{space}/threads/{thread}/threadReadState

Группа

Группа Google в Google Chat.

Поля
name

string

Название ресурса для группы Google.

Представляет группу в Cloud Identity Groups API.

Формат: groups/{group}

HistoryState

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

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

ListCustomEmojisRequest

Запрос на возврат списка собственных эмодзи.

Поля
page_size

int32

Необязательное поле. Максимальное количество возвращаемых пользовательских эмодзи. Сервис может вернуть меньше собственных эмодзи, чем указано в этом значении. Если значение не указано, по умолчанию используется 25. Максимальное значение – 200. Если указать большее значение, оно будет автоматически изменено на 200.

page_token

string

Необязательное поле. (если вы продолжаете предыдущий запрос).

Токен страницы, полученный из предыдущего вызова списка пользовательских эмодзи. Укажите его, чтобы получить следующую страницу.

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

filter

string

Необязательное поле. Фильтр запросов.

Поддерживает фильтрацию по автору.

Чтобы отфильтровать по автору, укажите действительное значение. В настоящее время для фильтрации собственных эмодзи по тому, были ли они созданы вызывающим пользователем, принимаются только creator("users/me") и NOT creator("users/me").

Например, следующий запрос возвращает пользовательские эмодзи, созданные вызывающим абонентом:

creator("users/me")

Недопустимые запросы отклоняются с ошибкой INVALID_ARGUMENT.

ListCustomEmojisResponse

Ответ на запрос списка собственных эмодзи.

Поля
custom_emojis[]

CustomEmoji

Маркированный список. Список собственных эмодзи.

next_page_token

string

Токен, который можно отправить как pageToken, чтобы получить следующую страницу результатов. Если поле пустое, значит последующих страниц нет.

ListMembershipsRequest

Сообщение с запросом на получение списка участников.

Поля
parent

string

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

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

page_size

int32

Необязательное поле. Максимальное количество возвращаемых участников. Сервис может вернуть меньше результатов, чем указано в этом значении.

Если значение не указано, возвращается не более 100 участников.

Максимальное значение – 1000. Если вы укажете значение больше 1000, оно будет автоматически изменено на 1000.

Если указать отрицательное значение, возвращается ошибка INVALID_ARGUMENT.

page_token

string

Необязательное поле. Токен страницы, полученный из предыдущего вызова для получения списка участников. Укажите этот параметр, чтобы получить следующую страницу.

При разбиении на страницы все остальные параметры должны соответствовать вызову, который предоставил токен страницы. Передача других значений в другие параметры может привести к неожиданным результатам.

filter

string

Необязательное поле. Фильтр запросов.

Вы можете отфильтровать участников по роли (role) и типу (member.type).

Чтобы отфильтровать по роли, задайте для параметра role значение ROLE_MEMBER или ROLE_MANAGER.

Чтобы отфильтровать по типу, задайте для параметра member.type значение HUMAN или BOT. Вы также можете отфильтровать member.type с помощью оператора !=.

Чтобы отфильтровать по роли и типу, используйте оператор AND. Чтобы отфильтровать по роли или типу, используйте оператор OR.

Если для свойства use_admin_access задано значение true, необходимо указать member.type = "HUMAN" или member.type != "BOT". Фильтры по другим типам участников будут отклонены.

Например, допустимы следующие запросы:

role = "ROLE_MANAGER" OR role = "ROLE_MEMBER"
member.type = "HUMAN" AND role = "ROLE_MANAGER"

member.type != "BOT"

Следующие запросы недействительны:

member.type = "HUMAN" AND member.type = "BOT"
role = "ROLE_MANAGER" AND role = "ROLE_MEMBER"

Недопустимые запросы отклоняются сервером с ошибкой INVALID_ARGUMENT.

show_groups

bool

Необязательное поле. Если задано значение true, возвращаются также подписки, связанные с Google Group. Если задан параметр filter, то элементы Google Group, не соответствующие критериям фильтра, не возвращаются.

show_invited

bool

Необязательное поле. Если задано значение true, возвращаются также группы, связанные с участниками типа invited. Если фильтр задан, то подписки invited, которые не соответствуют его критериям, не возвращаются.

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

use_admin_access

bool

Необязательное поле. Если задано значение true, метод выполняется с правами администратора Google Workspace.

Пользователь, вызывающий метод, должен быть администратором Google Workspace с правом на управление чатами и чат-группами.

Требуется область действия OAuth 2.0 chat.admin.memberships.readonly или chat.admin.memberships.

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

ListMembershipsResponse

Ответ на запрос списка участников чат-группы.

Поля
memberships[]

Membership

Маркированный список. Список участников на запрошенной (или первой) странице.

next_page_token

string

Токен, который можно отправить как pageToken, чтобы получить следующую страницу результатов. Если поле пустое, значит последующих страниц нет.

ListMessagePinsRequest

Сообщение с запросом на получение списка закрепленных сообщений.

Поля
parent

string

Обязательно. Родительский чат-группа, которому принадлежит коллекция закрепленных элементов. Формат: spaces/{space}.

page_size

int32

Необязательное поле. Максимальное количество возвращаемых закрепленных сообщений. Сервис может вернуть меньше сообщений, чем указано в этом значении. Максимальное значение – 100. Если вы укажете значение больше 100, оно будет автоматически изменено на 100. Если значение не указано, будет возвращено не более 100 закрепленных сообщений. Если указать отрицательное значение, возвращается ошибка INVALID_ARGUMENT.

page_token

string

Необязательное поле. Токен страницы, полученный из предыдущего вызова list message pins. Укажите этот параметр, чтобы получить следующую страницу.

При разбиении на страницы все остальные параметры должны соответствовать вызову, который предоставил токен страницы. Передача других значений в другие параметры может привести к неожиданным результатам.

ListMessagePinsResponse

Ответное сообщение для закрепленных сообщений в списке.

Поля
message_pins[]

MessagePin

Закрепленные сообщения из указанной чат-группы.

next_page_token

string

Чтобы получить следующую страницу результатов, вы можете отправить токен в виде pageToken. Если поле пустое, значит последующих страниц нет.

ListMessagesRequest

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

Поля
parent

string

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

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

page_size

int32

Необязательное поле. Максимальное количество возвращаемых сообщений. Сервис может вернуть меньше сообщений, чем указано в этом значении.

Если значение не указано, возвращается не более 25 результатов.

Максимальное значение – 1000. Если вы укажете значение больше 1000, оно будет автоматически изменено на 1000.

Если указать отрицательное значение, возвращается ошибка INVALID_ARGUMENT.

page_token

string

Необязательное поле. Токен страницы, полученный из предыдущего вызова списка сообщений. Укажите этот параметр, чтобы получить следующую страницу.

При разбиении на страницы все остальные параметры должны соответствовать вызову, который предоставил токен страницы. Передача других значений в другие параметры может привести к неожиданным результатам.

filter

string

Необязательное поле. Фильтр запросов.

Вы можете фильтровать сообщения по дате (create_time) и цепочке (thread.name).

Чтобы отфильтровать сообщения по дате создания, укажите create_time с временной меткой в формате RFC-3339 и двойными кавычками. например "2023-04-21T11:30:00-04:00". Вы можете использовать оператор "больше" >, чтобы получить список сообщений, созданных после временной метки, или оператор "меньше" <, чтобы получить список сообщений, созданных до временной метки. Чтобы отфильтровать сообщения за определенный период, используйте оператор AND между двумя временными метками.

Чтобы отфильтровать по цепочке, укажите thread.name в формате spaces/{space}/threads/{thread}. В одном запросе можно указать только один параметр thread.name.

Чтобы отфильтровать результаты по цепочке и дате, используйте в запросе оператор AND.

Например, допустимы следующие запросы:

create_time > "2012-04-21T11:30:00-04:00"

create_time > "2012-04-21T11:30:00-04:00" AND
  thread.name = spaces/AAAAAAAAAAA/threads/123

create_time > "2012-04-21T11:30:00+00:00" AND

create_time < "2013-01-01T00:00:00+00:00" AND
  thread.name = spaces/AAAAAAAAAAA/threads/123

thread.name = spaces/AAAAAAAAAAA/threads/123

Недопустимые запросы отклоняются сервером с ошибкой INVALID_ARGUMENT.

order_by

string

Необязательное поле. Как упорядочен список сообщений. Укажите значение, по которому нужно упорядочить результаты. Допустимые значения:

  • ASC – по возрастанию;

  • DESC – по убыванию.

По умолчанию используется порядок create_time ASC.

show_deleted

bool

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

markup_syntax

MarkupSyntax

Необязательное поле. Указывает желаемый синтаксис выходных данных для поля сообщения чата formatted_text.

ListMessagesResponse

Ответное сообщение для списка сообщений.

Поля
messages[]

Message

Список сообщений.

next_page_token

string

Чтобы получить следующую страницу результатов, вы можете отправить токен в виде pageToken. Если поле пустое, значит последующих страниц нет.

ListReactionsRequest

Возвращает список реакций на сообщение.

Поля
parent

string

Обязательно. Сообщение, на которое отправили реакцию.

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

page_size

int32

Необязательное поле. Максимальное количество возвращаемых откликов. Сервис может вернуть меньше откликов, чем указано в этом значении. Если значение не указано, по умолчанию используется 25. Максимальное значение – 200. Если указать большее значение, оно будет автоматически изменено на 200.

page_token

string

Необязательное поле. (если вы продолжаете предыдущий запрос).

Токен страницы, полученный из предыдущего вызова списка откликов. Укажите его, чтобы получить следующую страницу.

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

filter

string

Необязательное поле. Фильтр запросов.

Вы можете отфильтровать реакции по эмодзи (emoji.unicode или emoji.custom_emoji.uid) и пользователю (user.name).

Чтобы отфильтровать отклики по нескольким эмодзи или пользователям, объедините похожие поля с помощью оператора OR, например emoji.unicode = "🙂" OR emoji.unicode = "👍" и user.name = "users/AAAAAA" OR user.name = "users/BBBBBB".

Чтобы отфильтровать реакции по эмодзи и пользователю, используйте оператор AND, например emoji.unicode = "🙂" AND user.name = "users/AAAAAA".

Если в запросе используются операторы AND и OR, сгруппируйте их с помощью скобок.

Например, допустимы следующие запросы:

user.name = "users/{user}"
emoji.unicode = "🙂"
emoji.custom_emoji.uid = "{uid}"
emoji.unicode = "🙂" OR emoji.unicode = "👍"
emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "{uid}"
emoji.unicode = "🙂" AND user.name = "users/{user}"
(emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "{uid}")
AND user.name = "users/{user}"

Следующие запросы недействительны:

emoji.unicode = "🙂" AND emoji.unicode = "👍"
emoji.unicode = "🙂" AND emoji.custom_emoji.uid = "{uid}"
emoji.unicode = "🙂" OR user.name = "users/{user}"
emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "{uid}" OR
user.name = "users/{user}"
emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "{uid}"
AND user.name = "users/{user}"

Недопустимые запросы отклоняются с ошибкой INVALID_ARGUMENT.

ListReactionsResponse

Ответ на запрос списка откликов.

Поля
reactions[]

Reaction

Список реакций на запрошенной (или первой) странице.

next_page_token

string

Токен продолжения для получения следующей страницы результатов. Для последней страницы результатов это поле остается пустым.

ListSectionItemsRequest

Сообщение запроса для получения списка элементов раздела.

Поля
parent

string

Обязательно. Родительский элемент, который является названием ресурса раздела, владеющего этой коллекцией элементов раздела. Поддерживает только вывод элементов раздела для вызывающего пользователя.

При фильтрации по пространству используйте подстановочный знак - для поиска по всем разделам. Пример: users/{user}/sections/-.

Формат: users/{user}/sections/{section}

page_size

int32

Необязательное поле. Максимальное количество элементов раздела, которое нужно вернуть. Сервис может вернуть меньше результатов, чем указано в этом значении.

Если значение не указано, будет возвращено не более 10 элементов.

Максимальное значение – 100. Если вы укажете значение больше 100, оно будет автоматически изменено на 100.

Если указать отрицательное значение, возвращается ошибка INVALID_ARGUMENT.

page_token

string

Необязательное поле. Токен страницы, полученный из предыдущего вызова элементов раздела списка. Укажите его, чтобы получить следующую страницу.

При разбиении на страницы все остальные параметры должны соответствовать вызову, который предоставил токен страницы. Передача других значений в другие параметры может привести к неожиданным результатам.

filter

string

Необязательное поле. Фильтр запросов.

В настоящее время поддерживается только фильтрация по чат-группам.

например space = spaces/{space} (2-е издание).

Недействительные запросы отклоняются с ошибкой INVALID_ARGUMENT.

ListSectionItemsResponse

Ответное сообщение для элементов раздела.

Поля
section_items[]

SectionItem

Элементы из указанного раздела.

next_page_token

string

Токен, который можно отправить как page_token, чтобы получить следующую страницу. Если это поле отсутствует, значит последующих страниц нет.

ListSectionsRequest

Сообщение с запросом на получение списка разделов.

Поля
parent

string

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

  • Псевдоним me. Пример: users/me.

  • Адрес электронной почты Workspace. например users/user@example.com (2-е издание).

  • Идентификатор пользователя. например users/123456789 (2-е издание).

Формат: users/{user}

page_size

int32

Необязательное поле. Максимальное количество разделов, которые нужно вернуть. Сервис может вернуть меньше результатов, чем указано в этом значении.

Если значение не указано, будет возвращено не более 10 разделов.

Максимальное значение – 100. Если вы укажете значение больше 100, оно будет автоматически изменено на 100.

Если указать отрицательное значение, возвращается ошибка INVALID_ARGUMENT.

page_token

string

Необязательное поле. Токен страницы, полученный из предыдущего вызова разделов списка. Укажите его, чтобы получить следующую страницу.

При разбиении на страницы все остальные параметры должны соответствовать вызову, который предоставил токен страницы. Передача других значений в другие параметры может привести к неожиданным результатам.

ListSectionsResponse

Сообщение с ответом для разделов списка.

Поля
sections[]

Section

Разделы указанного пользователя.

next_page_token

string

Токен, который можно отправить как page_token, чтобы получить следующую страницу. Если это поле отсутствует, значит последующих страниц нет.

ListSpaceEventsRequest

Сообщение с запросом на получение списка событий чат-группы.

Поля
parent

string

Обязательно. Название ресурса чат-группы Google Chat, в которой произошли события.

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

page_size

int32

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

Если указать отрицательное значение, возвращается ошибка INVALID_ARGUMENT.

page_token

string

Необязательное поле. Токен страницы, полученный в результате предыдущего вызова list space events. Укажите его, чтобы получить следующую страницу.

При разбиении на страницы все остальные параметры, предоставленные для вызова list space events, должны соответствовать вызову, который предоставил токен страницы. Передача других значений в другие параметры может привести к неожиданным результатам.

filter

string

Обязательно. Фильтр запросов.

Необходимо указать хотя бы один тип события (event_type) с помощью оператора has :. Чтобы отфильтровать по нескольким типам событий, используйте оператор OR. Не указывайте в фильтре типы пакетных событий. Запрос автоматически возвращает все связанные пакетные события. Например, если вы отфильтруете события по новым откликам (google.workspace.chat.reaction.v1.created), сервер также вернет пакетные события новых откликов (google.workspace.chat.reaction.v1.batchCreated). Список поддерживаемых типов событий приведен в справочной документации по SpaceEvents.

При необходимости вы также можете отфильтровать данные по времени начала (start_time) и окончания (end_time):

  • start_time – временная метка, с которой нужно начать перечисление событий чат-группы. Вы можете посмотреть список событий, которые произошли не более 28 дней назад. Если не указано, возвращаются события чат-группы за последние 28 дней.
  • end_time – временная метка, до которой включительно перечисляются события чат-группы. Если не указано, будут показаны события до времени запроса.

Чтобы указать время начала или окончания, используйте оператор равенства = и формат RFC-3339. Чтобы отфильтровать по start_time и end_time, используйте оператор AND.

Например, допустимы следующие запросы:

start_time="2023-08-23T19:20:33+00:00" AND
end_time="2023-08-23T19:21:54+00:00"
start_time="2023-08-23T19:20:33+00:00" AND
(event_types:"google.workspace.chat.space.v1.updated" OR
event_types:"google.workspace.chat.message.v1.created")

Следующие запросы недействительны:

start_time="2023-08-23T19:20:33+00:00" OR
end_time="2023-08-23T19:21:54+00:00"
event_types:"google.workspace.chat.space.v1.updated" AND
event_types:"google.workspace.chat.message.v1.created"

Недопустимые запросы отклоняются сервером с ошибкой INVALID_ARGUMENT.

ListSpaceEventsResponse

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

Поля
space_events[]

SpaceEvent

Результаты возвращаются в хронологическом порядке (начиная с самого раннего события). Примечание. Поле permissionSettings не возвращается в объекте Space для запросов списка.

next_page_token

string

Токен продолжения, используемый для получения дополнительных событий. Если это поле отсутствует, значит последующих страниц нет.

ListSpacesRequest

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

Поля
page_size

int32

Необязательное поле. Максимальное количество чат-групп, которые нужно вернуть. Сервис может вернуть меньше результатов, чем указано в этом значении.

Если значение не указано, возвращается не более 100 чат-групп.

Максимальное значение – 1000. Если вы укажете значение больше 1000, оно будет автоматически изменено на 1000.

Если указать отрицательное значение, возвращается ошибка INVALID_ARGUMENT.

page_token

string

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

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

filter

string

Необязательное поле. Фильтр запросов.

Вы можете отфильтровать чат-группы по типу (space_type).

Чтобы отфильтровать результаты по типу чат-группы, укажите допустимое значение перечисления, например SPACE или GROUP_CHAT (space_type не может быть SPACE_TYPE_UNSPECIFIED). Чтобы запросить несколько типов чат-групп, используйте оператор OR.

Например, допустимы следующие запросы:

space_type = "SPACE"
spaceType = "GROUP_CHAT" OR spaceType = "DIRECT_MESSAGE"

Недопустимые запросы отклоняются сервером с ошибкой INVALID_ARGUMENT.

ListSpacesResponse

Ответ на запрос списка чат-групп.

Поля
spaces[]

Space

Список чат-групп на запрошенной (или первой) странице. Примечание. Поле permissionSettings не возвращается в объекте Space для запросов списка.

next_page_token

string

Чтобы получить следующую страницу результатов, вы можете отправить токен в виде pageToken. Если поле пустое, значит последующих страниц нет.

MarkAsActiveRequest

Сообщение запроса для метода MarkAsActive.

Поля
name

string

Обязательно. Название ресурса расписания, которое нужно сделать активным. Формат: users/{user}/availability.

{user} – идентификатор пользователя в People API или Admin SDK Directory API. Пример: users/123456789.

Адрес электронной почты пользователя или me также можно использовать в качестве псевдонима для ссылки на вызывающего абонента. Примеры: users/user@example.com или users/me.

Объединенное поле expiration. Срок действия статуса доступности ACTIVE. По истечении этого времени статус пользователя изменится на "Нет на месте". Если срок действия не указан, статус ACTIVE будет действовать в течение 30 минут с текущего момента. expiration может иметь одно из следующих значений:
expire_time

Timestamp

Абсолютная временная метка, когда истекает срок действия статуса ACTIVE.

ttl

Duration

Продолжительность от текущего времени до окончания состояния ACTIVE. Использование короткого TTL может эффективно сбросить состояние пользователя, чтобы оно основывалось на активности после этого короткого периода.

MarkAsAwayRequest

Сообщение запроса для метода MarkAsAway.

Поля
name

string

Обязательно. Название ресурса доступности, который нужно пометить как отсутствующий. Формат: users/{user}/availability.

{user} – идентификатор пользователя в People API или Admin SDK Directory API. Пример: users/123456789.

Адрес электронной почты пользователя или me также можно использовать в качестве псевдонима для ссылки на вызывающего абонента. Примеры: users/user@example.com или users/me.

MarkAsDoNotDisturbRequest

Сообщение запроса для метода MarkAsDoNotDisturb.

Поля
name

string

Обязательно. Название ресурса доступности, который нужно пометить как "Не беспокоить". Формат: users/{user}/availability.

{user} – идентификатор пользователя в People API или Admin SDK Directory API. Пример: users/123456789.

Адрес электронной почты пользователя или me также можно использовать в качестве псевдонима для ссылки на вызывающего абонента. Примеры: users/user@example.com или users/me.

Объединенное поле expiration. Обязательно. Срок действия статуса "Не беспокоить". По истечении этого времени статус пользователя изменится на "Нет на месте". Максимальный срок – один год с текущего момента. expiration может иметь одно из следующих значений:
expire_time

Timestamp

Абсолютная временная метка, когда истекает срок действия режима "Не беспокоить".

ttl

Duration

Продолжительность режима "Не беспокоить" с текущего момента до его окончания.

MarkupSyntax

Указывает синтаксис разметки, используемый для форматирования текста сообщения Chat. Применяется к полю text ресурса Message.

Перечисления
MARKUP_SYNTAX_UNSPECIFIED Представляет неуказанное значение.
MARKUP_SYNTAX_CHAT Используется синтаксис разметки Google Chat. Подробнее: https://developers.google.com/workspace/chat/format-messages#format-texts.
MARKUP_SYNTAX_MARKDOWN Используется синтаксис Markdown. Этот синтаксис основан на спецификации CommonMark с дополнительными расширениями. Подробнее: https://developers.google.com/workspace/chat/format-messages#format-texts.

MatchedUrl

URL, соответствующий условиям, в сообщении Chat. Приложения Chat могут показывать предварительный просмотр ссылок, соответствующих шаблону. Подробнее о предварительном просмотре ссылок…

Поля
url

string

Только для вывода. URL, который был сопоставлен.

MeetSpaceLinkData

Данные о ссылках на чат-группы Meet.

Поля
meeting_code

string

Код встречи связанной переговорной комнаты Meet.

type

Type

Указывает тип пространства Meet.

huddle_status

HuddleStatus

Необязательное поле. Только для вывода. Если встреча Meet является совещанием, указывает на статус совещания. В противном случае значение не задано.

HuddleStatus

Статус совещания.

Перечисления
HUDDLE_STATUS_UNSPECIFIED Значение по умолчанию для перечисления. Не использовать.
STARTED Совещание началось.
ENDED Совещание завершено. В этом случае URI и идентификаторы пространства Meet станут недействительными.
MISSED Совещание пропущено. В этом случае URI и идентификаторы пространства Meet станут недействительными.

Тип

Тип пространства Meet.

Перечисления
TYPE_UNSPECIFIED Значение по умолчанию для перечисления. Не использовать.
MEETING Чат-группа Meet – это встреча.
HUDDLE Чат-группа Meet – это совещание.

Спонсорство

Представляет отношение участия в Google Chat, например приглашен ли пользователь или приложение Chat в чат-группу, состоит ли в ней или отсутствует.

Поля
name

string

Идентификатор. Название ресурса участника, назначенное сервером.

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

state

MembershipState

Только для вывода. Статус участия.

role

MembershipRole

Необязательное поле. Роль пользователя в чат-группе Google Chat, которая определяет его права в ней.

Это поле можно использовать только в качестве входных данных в UpdateMembership.

create_time

Timestamp

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

delete_time

Timestamp

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

affiliation

Affiliation

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

Объединенное поле memberType. Участник, связанный с этим членством. В будущем могут поддерживаться и другие типы участников. memberType может иметь одно из следующих значений:
member

User

Необязательное поле. Пользователь или приложение Google Chat, к которому относится участие. Если приложение Chat выполняет аутентификацию от имени пользователя, в выходных данных заполняются только поля user name и type как для внутренних, так и для внешних пользователей, если только они не являются участниками чат-группы или не имеют предварительной связи, например прямой переписки, с вызывающим пользователем.

group_member

Group

Необязательное поле. Группа Google, к которой относится участие.

Для чтения или изменения участников групп Google требуется аутентификация пользователя.

Партнерство

Представляет принадлежность пользователя к организации Google Workspace, которой принадлежит чат-группа. В будущем в это перечисление могут быть добавлены новые значения.

Перечисления
AFFILIATION_UNSPECIFIED Значение по умолчанию. Это значение не используется.
INTERNAL Аккаунт, управляемый той же организацией Google Workspace, которой принадлежит чат-группа.
EXTERNAL Аккаунт, не принадлежащий организации Google Workspace, которая владеет чат-группой (например, обычный аккаунт или аккаунт, управляемый другой организацией Workspace).
MANAGED_EXTERNAL Аккаунт, управляемый организацией Workspace, которой принадлежит чат-группа, но предоставленный пользователю, не входящему в организацию (например, гостевому пользователю). Подробнее https://support.google.com/chat/answer/16997417…

MembershipRole

Представляет разрешенные действия пользователя в чат-группе Chat. В будущем могут быть добавлены другие значения перечисления.

Перечисления
MEMBERSHIP_ROLE_UNSPECIFIED Значение по умолчанию. users не является участником чат-группы, но его можно пригласить. Для Google Groups: им всегда назначается эта роль (в будущем могут использоваться другие значения перечисления).
ROLE_MEMBER

Участник чат-группы. В интерфейсе Chat эта роль называется "Участник".

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

  • добавлять и удалять участников;
  • менять информацию о чат-группе;
  • включение или выключение истории чата;
  • Упомянуть всех участников чат-группы с помощью @all.
  • Управлять приложениями Chat и вебхуками, установленными в чат-группе.

В прямых переписках и групповых чатах без названия эта роль есть у всех участников.

ROLE_MANAGER

Владелец чат-группы. В интерфейсе Chat эта роль называется "Владелец".

У пользователя есть полный набор разрешений для управления чат-группой, в том числе:

  • изменять роли других участников чат-группы на "Участник", "Менеджер" или "Владелец";
  • удалить чат-группу.

Поддерживается только в SpaceType.SPACE (чат-группах с названиями).

Подробнее о роли владельца или менеджера чат-группы…

ROLE_ASSISTANT_MANAGER

Менеджер чат-группы. В интерфейсе Chat эта роль называется "Менеджер".

У пользователя есть все базовые разрешения ROLE_MEMBER, и владелец может предоставить ему набор разрешений администратора. По умолчанию у менеджеров есть все разрешения владельца, кроме следующих:

  • удалить чат-группу.
  • Изменение роли участника чат группы на владельца.
  • Изменение роли владельца.

По умолчанию разрешения менеджеров включают, помимо прочего, следующее:

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

Поддерживается только в SpaceType.SPACE (чат-группы с названиями).

Подробнее об управлении настройками чат-групп…

MembershipState

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

Перечисления
MEMBERSHIP_STATE_UNSPECIFIED Значение по умолчанию. Не использовать.
JOINED Пользователь будет добавлен в чат-группу и сможет участвовать в ней.
INVITED Пользователь приглашен в чат-группу, но ещё не присоединился к ней.
NOT_A_MEMBER Пользователь не является участником чат-группы и не имеет ожидающего приглашения присоединиться к ней.

MembershipBatchCreatedEventData

Полезная нагрузка события для нескольких новых спонсоров.

Тип события: google.workspace.chat.membership.v1.batchCreated

Поля
memberships[]

MembershipCreatedEventData

Список новых спонсоров.

MembershipBatchDeletedEventData

Полезная нагрузка события для нескольких удаленных подписок.

Тип события: google.workspace.chat.membership.v1.batchDeleted

Поля
memberships[]

MembershipDeletedEventData

Список удаленных участников.

MembershipBatchUpdatedEventData

Полезная нагрузка события для нескольких обновленных подписок.

Тип события: google.workspace.chat.membership.v1.batchUpdated

Поля
memberships[]

MembershipUpdatedEventData

Список обновленных участников.

MembershipCreatedEventData

Полезная нагрузка события для нового участника.

Тип события: google.workspace.chat.membership.v1.created.

Поля
membership

Membership

Новая подписка.

MembershipDeletedEventData

Полезная нагрузка события для удаленного членства.

Тип события: google.workspace.chat.membership.v1.deleted

Поля
membership

Membership

Удаленная подписка. Заполняются только поля name и state.

MembershipUpdatedEventData

Полезная нагрузка события для обновленного членства.

Тип события: google.workspace.chat.membership.v1.updated

Поля
membership

Membership

Обновленный статус участника.

Сообщение

Сообщение в чат-группе Google Chat.

Поля
name

string

Идентификатор. Название ресурса сообщения.

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

где {space} – идентификатор чат-группы, в которой опубликовано сообщение, а {message} – назначенный системой идентификатор сообщения. например spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB.

Если вы задали пользовательский идентификатор при создании сообщения, то можете использовать его, чтобы указать сообщение в запросе, заменив {message} значением из поля clientAssignedMessageId. например spaces/AAAAAAAAAAA/messages/client-custom-name. Подробнее о том, как задать название сообщения…

sender

User

Только для вывода. Пользователь, создавший сообщение. Если приложение Chat выполняет аутентификацию от имени пользователя, в выходных данных заполняются только поля user name и type как для внутренних, так и для внешних пользователей, если только они не являются участниками чат-группы или не имеют предварительной связи, например прямой переписки, с вызывающим пользователем.

create_time

Timestamp

Необязательное поле. Не меняется. Для чат-групп, созданных в Chat, – время создания сообщения. Это поле предназначено только для вывода, за исключением случаев, когда оно используется в чат-группах в режиме импорта.

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

last_update_time

Timestamp

Только для вывода. Время, когда сообщение было изменено пользователем в последний раз. Если сообщение не редактировалось, это поле будет пустым.

delete_time

Timestamp

Только для вывода. Время удаления сообщения в Google Chat. Если сообщение не удаляется, это поле остается пустым.

text

string

Необязательное поле. Текст сообщения. Первая ссылка на изображение, видео или веб-страницу генерирует чип предпросмотра. Вы также можете @упомянуть пользователя Google Chat или всех участников чат-группы.

Подробнее о том, как отправлять сообщения…

formatted_text

string

Только для вывода. Содержит сообщение text с разметкой, которая передает форматирование. В этом поле может быть представлено не все форматирование, видимое в интерфейсе, но оно включает следующее:

  • Синтаксис разметки для полужирного шрифта, курсива, зачеркнутого текста, моноширинного шрифта, блока моноширинного шрифта, маркированного списка и блока цитаты.

  • Упоминания пользователей в формате <users/{user}>.

  • Специальные гиперссылки в формате <{url}|{rendered_text}>, где первая строка – это URL, а вторая – отображаемый текст, например <http://example.com|custom text>.

  • Собственные эмодзи в формате :{emoji_name}:, например :smile:. Это не относится к эмодзи Unicode, например U+1F600.

  • Для маркированных списков используйте звездочки (*), например * item.

Подробнее о том, как посмотреть форматирование текста в сообщении…

cards[]
(deprecated)

Card

Устарело. Используйте вместо него cards_v2.

Интерактивные карточки с форматированием, которые можно использовать для показа элементов интерфейса, например форматированного текста, кнопок и изображений, на которые можно нажать. Обычно карточки показываются под текстом письма. Максимальный размер cards и cards_v2 – 32 КБ.

cards_v2[]

CardWithId

Необязательное поле. Массив карточек.

Приложения для Chat могут создавать карточки с аутентификацией приложения. В рамках предварительной версии для разработчиков, если ваше приложение Chat выполняет аутентификацию от имени пользователя, оно может создавать сообщения с карточками. Если ваше приложение Chat не участвует в программе предварительной версии для разработчиков, оно не может создавать карточки с аутентификацией пользователей.

Подробнее о том, как создать сообщение, содержащее карточки…

Создавайте и просматривайте карточки с помощью Card Builder.

Как открыть Card Builder

annotations[]

Annotation

Только для вывода. Аннотации могут быть связаны с обычным текстом сообщения или с чипами, которые ссылаются на ресурсы Google Workspace, например Google Документы или Таблицы, со значениями start_index и length, равными 0.

thread

Thread

Цепочка, к которой относится сообщение. Пример использования приведен в разделе Как начать цепочку или ответить в ней.

space

Space

Только для вывода. Если приложение Chat выполняет аутентификацию от имени пользователя, в выходных данных заполняется только поле space name.

fallback_text

string

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

action_response

ActionResponse

Только для ввода. Параметры, которые приложение Chat может использовать для настройки публикации ответа.

argument_text

string

Только для вывода. Текст сообщения без упоминаний приложения Chat.

slash_command

SlashCommand

Только для вывода. Информация о слеш-командах (если применимо).

attachment[]

Attachment

Необязательное поле. Прикрепленный пользователем файл.

matched_url

MatchedUrl

Только для вывода. URL в поле "Сообщение чата" text, соответствующий шаблону предпросмотра ссылок. Подробнее о ссылках для предварительного просмотра…

thread_reply

bool

Только для вывода. Если true, сообщение является ответом в цепочке. Если false, сообщение видно в чате верхнего уровня чат-группы как первое сообщение в цепочке или как сообщение без ответов в цепочке.

Если чат-группа не поддерживает цепочки ответов, это поле всегда имеет значение false.

silent

bool

Только для вывода. Указывает, является ли сообщение беззвучным. Тихие сообщения – это сообщения, для которых Chat подавляет push-уведомления для получателей.

client_assigned_message_id

string

Необязательное поле. Пользовательский идентификатор сообщения. Вы можете использовать это поле, чтобы идентифицировать сообщение, а также получить, удалить или обновить его. Чтобы задать пользовательский идентификатор, укажите поле messageId при создании сообщения. Подробнее о том, как задать название сообщения…

emoji_reaction_summaries[]

EmojiReactionSummary

Только для вывода. Список сводок реакций с эмодзи на сообщение.

private_message_viewer

User

Необязательное поле. Не меняется. Входные данные для создания сообщения, в противном случае – только выходные данные. Пользователь, который может просматривать сообщение. Если это поле задано, сообщение является личным и видно только указанному пользователю и приложению Chat. Чтобы включить это поле в запрос, необходимо вызвать Chat API с помощью аутентификации приложения и опустить следующее:

Подробнее о том, как отправить личное сообщение…

deletion_metadata

DeletionMetadata

Только для вывода. Информация об удаленном сообщении. Сообщение удаляется, когда задано значение delete_time.

quoted_message_metadata

QuotedMessageMetadata

Необязательное поле. Информация о сообщении, которое цитируется в другом сообщении.

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

При обновлении сообщения вы не можете добавить или заменить поле quotedMessageMetadata, но можете удалить его.

Пример использования приведен в разделе Как процитировать другое сообщение.

attached_gifs[]

AttachedGif

Только для вывода. GIF-изображения, прикрепленные к письму.

accessory_widgets[]

AccessoryWidget

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

Для создания сообщения с дополнительными виджетами требуется аутентификация приложения.

elements

Elements

Необязательное поле. Элементы – это дополнительные компоненты, которые предоставляются при создании сообщения и могут быть связаны с определенными частями текста сообщения. Они отличаются от аннотаций, которые предназначены только для вывода и содержат дополнительную информацию, связанную с фрагментами сообщения или всем его текстом.

markup_syntax

MarkupSyntax

Необязательное поле. Указывает, как сервер интерпретирует содержимое поля text сообщения.

MessageBatchCreatedEventData

Полезная нагрузка события для нескольких новых сообщений.

Тип события: google.workspace.chat.message.v1.batchCreated

Поля
messages[]

MessageCreatedEventData

Список новых сообщений.

MessageBatchDeletedEventData

Полезная нагрузка события для нескольких удаленных сообщений.

Тип события: google.workspace.chat.message.v1.batchDeleted

Поля
messages[]

MessageDeletedEventData

список удаленных сообщений;

MessageBatchUpdatedEventData

Полезная нагрузка события для нескольких обновленных сообщений.

Тип события: google.workspace.chat.message.v1.batchUpdated

Поля
messages[]

MessageUpdatedEventData

Список обновленных сообщений.

MessageCreatedEventData

Полезная нагрузка события для нового сообщения.

Тип события: google.workspace.chat.message.v1.created

Поля
message

Message

Новое сообщение.

MessageDeletedEventData

Полезная нагрузка события для удаленного сообщения.

Тип события: google.workspace.chat.message.v1.deleted

Поля
message

Message

Удаленное сообщение. Заполнены только поля name, createTime и deletionMetadata.

MessagePin

Закрепленное сообщение в Chat. Подробнее о закреплении сообщений…

Поля
name

string

Идентификатор. Название ресурса закрепленного сообщения. Формат: spaces/{space}/messagePins/{message_pin}. Компонент идентификатора ресурса совпадает с компонентом идентификатора ресурса сообщения. Например, сообщение с spaces/AAA/messages/bbb.ccc соответствует закрепленному сообщению с названием ресурса spaces/AAA/messagePins/bbb.ccc.

message

string

Обязательно. Не меняется. Название ресурса закрепленного сообщения. Формат: spaces/{space}/messages/{message}

MessageUpdatedEventData

Полезная нагрузка события для обновленного сообщения.

Тип события: google.workspace.chat.message.v1.updated

Поля
message

Message

Обновленное сообщение.

MoveSectionItemRequest

Сообщение с запросом на перемещение элемента раздела в другой раздел.

Поля
name

string

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

Формат: users/{user}/sections/{section}/items/{item}

target_section

string

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

Формат: users/{user}/sections/{section}

MoveSectionItemResponse

Ответное сообщение при перемещении элемента раздела.

Поля
section_item

SectionItem

Обновленный элемент раздела.

PositionSectionRequest

Сообщение с запросом на размещение раздела.

Поля
name

string

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

Формат: users/{user}/sections/{section}

Объединенное поле position. Обязательно. Новая позиция раздела. position может иметь одно из следующих значений:
sort_order

int32

Необязательное поле. Абсолютная позиция раздела в списке разделов. Позиция должна быть больше 0. Если указать номер, превышающий количество разделов, то раздел будет добавлен в конец списка. Эта операция вставляет раздел в указанную позицию и сдвигает исходный раздел в этой позиции и те, что находятся под ним, на следующую позицию.

relative_position

Position

Необязательное поле. Относительная позиция раздела в списке разделов.

Позиция

Позиция раздела.

Перечисления
POSITION_UNSPECIFIED Позиция не указана.
START Начало списка разделов.
END Конец списка разделов.

PositionSectionResponse

Ответное сообщение для позиционирования раздела.

Поля
section

Section

Обновленный раздел.

QuotedMessageMetadata

Информация о сообщении, которое цитируется в другом сообщении.

При обновлении сообщения вы не можете добавить или заменить поле quotedMessageMetadata, но можете удалить его.

Пример использования приведен в разделе Как процитировать другое сообщение.

Поля
name

string

Обязательно. Название ресурса цитируемого сообщения.

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

last_update_time

Timestamp

Обязательно. Временная метка создания или последнего обновления цитируемого сообщения.

Если сообщение было изменено, используйте поле last_update_time. Если сообщение не редактировалось, используйте create_time.

Если last_update_time не соответствует последней версии цитируемого сообщения, запрос завершается ошибкой.

quote_type

QuoteType

Необязательное поле. Указывает тип цитаты. Если не задано, по умолчанию используется REPLY в пути чтения/записи сообщения для обратной совместимости.

quoted_message_snapshot

QuotedMessageSnapshot

Только для вывода. Снимок содержимого цитируемого сообщения.

forwarded_metadata

ForwardedMetadata

Только для вывода. Метаданные об исходной чат-группе цитируемого сообщения. Заполняется только для типа цены FORWARD.

QuoteType

Тип цитаты в цитируемом сообщении.

Перечисления
QUOTE_TYPE_UNSPECIFIED Зарезервировано. Это значение не используется.
REPLY

Если для параметра quote_type задано значение REPLY, вы можете:

  • Если вы отвечаете в цепочке, вы можете процитировать другое сообщение из нее.

  • Если вы создаете корневое сообщение, вы можете процитировать другое корневое сообщение в этой чат-группе.

FORWARD

Если quote_type – FORWARD, вы можете процитировать:

  • Сообщение из другой чат-группы.

  • Ответ на сообщение из другой цепочки в той же чат-группе.

QuotedMessageSnapshot

Показывает содержимое цитируемого сообщения на момент цитирования или пересылки.

Поля
sender

string

Только для вывода. Имя автора цитируемого сообщения. Заполняется для типов цитирования REPLY и FORWARD.

text

string

Только для вывода. Снимок текстового контента цитируемого сообщения.

formatted_text

string

Только для вывода. Содержит цитируемое сообщение text с разметкой, добавленной для поддержки расширенного форматирования, например гиперссылок, пользовательских эмодзи, разметки и т. д. Заполняется только для типа цитирования FORWARD.

annotations[]

Annotation

Только для вывода. Аннотации, извлеченные из текста цитируемого сообщения. Заполняется только для типа цены FORWARD.

attachments[]

Attachment

Только для вывода. Прикрепленные файлы, которые были частью цитируемого сообщения. Это копии метаданных прикрепленных файлов из цитируемого сообщения. Заполняется только для типа цены FORWARD.

Реакция

Реакция на сообщение.

Поля
name

string

Идентификатор. Название ресурса отклика.

Формат: spaces/{space}/messages/{message}/reactions/{reaction}

user

User

Только для вывода. Пользователь, который создал отклик.

emoji

Emoji

Обязательно. Эмодзи, используемый в реакции.

ReactionBatchCreatedEventData

Полезная нагрузка события для нескольких новых откликов.

Тип события: google.workspace.chat.reaction.v1.batchCreated

Поля
reactions[]

ReactionCreatedEventData

Список новых реакций.

ReactionBatchDeletedEventData

Полезная нагрузка события для нескольких удаленных реакций.

Тип события: google.workspace.chat.reaction.v1.batchDeleted

Поля
reactions[]

ReactionDeletedEventData

Список удаленных реакций.

ReactionCreatedEventData

Полезная нагрузка события для новой реакции.

Тип события: google.workspace.chat.reaction.v1.created

Поля
reaction

Reaction

Новая реакция.

ReactionDeletedEventData

Полезная нагрузка события для удаленной реакции.

Тип: google.workspace.chat.reaction.v1.deleted

Поля
reaction

Reaction

Удаленная реакция.

ReplaceMessageCardsRequest

Сообщение запроса для метода ReplaceMessageCards API.

Поля
name

string

Обязательно. Название ресурса сообщения.

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

cards_v2[]

CardWithId

Необязательное поле. Массив карточек, которые будут включены в сообщение. Они заменят существующие карточки сообщения. Если оставить поле пустым, исходные карточки в сообщении будут удалены.

ReplaceMessageCardsResponse

У этого типа нет полей.

Ответное сообщение для ReplaceMessageCards API.

RichLinkMetadata

Ссылка на ресурс с расширенными возможностями. Ссылки могут быть связаны с обычным текстом в теле сообщения или представлять собой чипы, которые ссылаются на ресурсы Google Workspace, например Google Документы или Таблицы, с start_index и length, равными 0.

Поля
uri

string

URI этой ссылки.

Объединенное поле data. Данные для связанного ресурса. data может иметь одно из следующих значений:

RichLinkType

Тип ссылки с расширенными функциями. В будущем могут быть добавлены и другие типы.

Перечисления
DRIVE_FILE Тип ссылки на объект Google Диска.
CHAT_SPACE Тип ссылки на чат-группу Chat. Например, умный чип чат-группы.
GMAIL_MESSAGE Тип ссылки на письмо Gmail. В частности, чип Gmail из функции Поделиться в Chat. API поддерживает только чтение сообщений с помощью ссылок GMAIL_MESSAGE.
MEET_SPACE Тип ссылки в сообщении Meet. Например, чип Meet.
CALENDAR_EVENT Тип ссылки с расширенными возможностями для сообщения Календаря. Например, чип Календаря.

SearchMessageResult

Один результат поиска сообщений.

Поля
message

Message

Сообщение, соответствующее условию.

space_mute_setting

MuteSetting

Настройка отключения звука для пользователя, который вызывает чат-группу, в которой опубликовано сообщение. Приложение, вызывающее API, может использовать эту информацию, чтобы решить, как обрабатывать сообщение, в зависимости от того, отключены ли уведомления чат-группы для пользователя.

Возвращается, только если в запросе указан режим просмотра SEARCH_MESSAGES_VIEW_FULL, а учетные данные вызова включают следующую область авторизации:

  • https://www.googleapis.com/auth/chat.users.spacesettings
read

bool

Указывает, прочитано ли сообщение, соответствующее запросу, пользователем, который выполнил вызов.

Возвращается, только если в запросе указано представление SEARCH_MESSAGES_VIEW_FULL, а учетные данные вызова включают одну из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.users.readstate.readonly
  • https://www.googleapis.com/auth/chat.users.readstate

SearchMessagesRequest

Сообщение с запросом на поиск сообщений.

Поля
parent

string

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

Чтобы выполнить поиск по всем чат-группам, к которым у пользователя есть доступ, задайте для этого поля значение spaces/-. Если указать любое другое значение для parent, возникнет ошибка INVALID_ARGUMENT.

Чтобы ограничить поиск одной или несколькими чат-группами, используйте space.name или space.display_name в filter.

filter

string

Обязательно. Поисковый запрос.

В запросе можно указать одно или несколько ключевых слов, которые будут использоваться для фильтрации результатов.

Вы также можете отфильтровать результаты по следующим полям:

  • create_time – принимает временную метку в формате RFC-3339. Поддерживаются следующие операторы сравнения: < и >=.
  • sender.name – название ресурса отправителя (users/{user}). Поддерживается только =. Вы можете использовать этот адрес электронной почты в качестве псевдонима для {user}. Например, users/example@gmail.com, где example@gmail.com – адрес электронной почты пользователя Google Chat.
  • space.name – название ресурса чат-группы, в которой опубликовано сообщение. (spaces/{space}). Поддерживается только =. Если этот фильтр не задан, поиск выполняется по всем прямым перепискам и чат-группам, к которым у пользователя есть доступ как у участника чат-группы.
  • space.display_name – поддерживает оператор : (содержит) и фильтрует чат-группы на основе частичного совпадения с их отображаемым названием. В результатах показывается до пяти чат-групп. Например, space.display_name:Project ищет сообщения в пяти чат-группах, в отображаемом названии которых есть слово "проект".
  • space.space_type – тип чат-группы. Поддерживается только =. Например, space.space_type="DIRECT_MESSAGE" возвращает только сообщения из прямых переписок. Допустимые значения: DIRECT_MESSAGE, GROUP_CHAT, SPACE.
  • attachment: поддерживает оператор :* (содержит любой), чтобы проверять наличие прикрепленных файлов. Если указан параметр attachment:*, возвращаются только сообщения, содержащие хотя бы одно прикрепление.
  • annotations.user_mentions.user.name – название ресурса упомянутого пользователя (users/{user}). Поддерживается только оператор : (has). Например, annotations.user_mentions.user.name:"users/1234567890" возвращает только сообщения, в которых упоминается указанный пользователь. Также можно использовать псевдоним me, чтобы отфильтровать сообщения, в которых упоминается пользователь, например annotations.user_mentions.user.name:users/me. Вы также можете использовать адрес электронной почты в качестве псевдонима для {user}, например users/example@gmail.com.

Для расширенной фильтрации также доступны следующие функции:

  • has_link() – возвращает только сообщения, в тексте которых есть хотя бы одна гиперссылка.
  • is_unread(): фильтрует сообщения, прочитанные пользователем, который выполняет вызов.

Чтобы использовать фильтры space.display_name или space.space_type, учетные данные вызывающей стороны должны включать одну из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.spaces.readonly
  • https://www.googleapis.com/auth/chat.spaces

Чтобы использовать фильтр is_unread(), учетные данные вызывающей стороны должны включать одну из следующих областей авторизации:

  • https://www.googleapis.com/auth/chat.users.readstate.readonly
  • https://www.googleapis.com/auth/chat.users.readstate

Для разных полей поддерживаются только операторы AND. Пример: sender.name = "users/1234567890" AND is_unread(). Слово AND необязательно и подразумевается, если опущено. Например, sender.name = "users/1234567890" is_unread() – это допустимое значение, эквивалентное предыдущему примеру. Недопустимый пример: sender.name = "users/1234567890" OR is_unread(), поскольку OR не поддерживается между разными полями.

В одном поле:

  • create_time поддерживает только AND и может использоваться только для представления интервала, например create_time >= "2022-01-01T00:00:00+00:00" AND create_time < "2023-01-01T00:00:00+00:00".
  • sender.name поддерживает только оператор OR, например sender.name = "users/1234567890" OR sender.name = "users/0987654321".
  • space.name поддерживает только оператор OR, например space.name = "spaces/ABCDEFGH" OR space.name = "spaces/QWERTYUI".
  • space.display_name поддерживает операторы AND и OR, но не их сочетание. Например, space.display_name:Project AND space.display_name:Tasks возвращает сообщения, которые находятся в чат-группах с отображаемыми названиями, содержащими и Project, и Tasks, а space.display_name:Project OR space.display_name:Tasks возвращает сообщения, которые находятся в чат-группах с отображаемыми названиями, содержащими Project, Tasks или оба слова.
  • space.space_type поддерживает только оператор OR, например space.space_type = "DIRECT_MESSAGE" OR space.space_type = "GROUP_CHAT".
  • annotations.user_mentions.user.name поддерживает операторы AND и OR, но не их сочетание. Например, по запросу annotations.user_mentions.user.name:"users/1234567890" AND annotations.user_mentions.user.name:"users/0987654321" будут найдены только сообщения, в которых упоминаются оба пользователя, а по запросу annotations.user_mentions.user.name:"users/1234567890" OR annotations.user_mentions.user.name:"users/0987654321" – сообщения, в которых упоминается один из пользователей или оба.

Если в одном запросе используются операторы AND и OR, то для определения приоритета операторов необходимо использовать скобки. Например: (sender.name="users/me" OR sender.name="users/123456") AND is_unread(). В остальных случаях скобки необязательны.

Примеры допустимых запросов:

"Pending reports" AND create_time >= "2023-01-01T00:00:00Z"

sender.name = "users/example@gmail.com"

annotations.user_mentions.user.name:"users/0987654321"

attachment:* AND space.name = "spaces/ABCDEFGH"

tasks AND is_unread() AND sender.name = "users/1234567890"

"things to do" "urgent"

(sender.name = "users/1234567890")
AND (create_time < "2023-05-01T00:00:00Z")

tasks AND space.name = "spaces/ABCDEFGH" AND has_link()

"project one" is_unread()

space.display_name:Project tasks

Максимальная длина запроса – 1000 символов.

Недопустимые запросы отклоняются сервером с ошибкой INVALID_ARGUMENT.

page_size

int32

Необязательное поле. Максимальное количество результатов, которые нужно вернуть. Сервис может вернуть меньше результатов, чем указано в этом значении.

Если значение не указано, возвращается не более 25 результатов.

Максимальное значение – 100. Если вы укажете значение больше 100, оно будет автоматически изменено на 100.

page_token

string

Необязательное поле. Токен, полученный из предыдущего вызова search messages. Укажите этот параметр, чтобы получить следующую страницу.

При разбиении на страницы все остальные параметры должны соответствовать вызову, который предоставил токен страницы. Передача других значений в другие параметры может привести к неожиданным результатам.

order_by

string

Необязательное поле. Как упорядочен список результатов.

Поддерживаемые атрибуты для сортировки:

По умолчанию используется порядок create_time desc. В запросе можно указать только один порядок сортировки (create_time или relevance). Поддерживается только сортировка по убыванию (desc), которая должна быть указана после атрибута order.

markup_syntax

MarkupSyntax

Необязательное поле. Указывает желаемый синтаксис выходных данных для поля сообщения чата formatted_text.

view

SearchMessagesView

Необязательное поле. Указывает, какой вид результатов поиска нужно вернуть. Значение по умолчанию – SEARCH_MESSAGES_VIEW_BASIC.

SearchMessagesView

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

Перечисления
SEARCH_MESSAGES_VIEW_UNSPECIFIED Значение по умолчанию или незаданное значение. По умолчанию API использует представление BASIC.
SEARCH_MESSAGES_VIEW_BASIC В результаты включаются только сообщения, соответствующие запросу, без дополнительных метаданных. Это значение используется по умолчанию.
SEARCH_MESSAGES_VIEW_FULL Включает все результаты: сообщения, соответствующие запросу, и дополнительные метаданные.

SearchMessagesResponse

Ответное сообщение для поиска сообщений.

Поля
results[]

SearchMessageResult

Список результатов поиска, соответствующих запросу.

next_page_token

string

Токен, который можно использовать для получения следующей страницы. Если это поле пустое, значит последующих страниц нет.

SearchSpacesRequest

Запрос на поиск списка чат-групп на основе запроса.

Поля
use_admin_access

bool

Если задано значение true, метод выполняется с правами администратора Google Workspace.

Пользователь, вызывающий метод, должен быть администратором Google Workspace с правом на управление чатами и чат-группами.

Требуется область действия OAuth 2.0 chat.admin.spaces.readonly или chat.admin.spaces.

page_size

int32

Максимальное количество чат-групп, которые нужно вернуть. Сервис может вернуть меньше результатов, чем указано в этом значении.

Если значение не указано, возвращается не более 100 чат-групп.

Максимальное значение – 1000, если для параметра useAdminAccess задано значение true. В противном случае максимальное значение – 100. Если вы укажете значение, превышающее максимальное, оно будет автоматически изменено на максимальное.

page_token

string

Токен, полученный из предыдущего вызова search spaces. Укажите этот параметр, чтобы получить следующую страницу.

При разбиении на страницы все остальные параметры должны соответствовать вызову, который предоставил токен страницы. Передача других значений в другие параметры может привести к неожиданным результатам.

query

string

Обязательно. Поисковый запрос.

Если для параметра useAdminAccess задано значение true, вы можете выполнять поиск по следующим параметрам:

  • create_time
  • customer
  • display_name
  • external_user_allowed
  • last_active_time
  • space_history_state
  • space_type

Если для параметра useAdminAccess задано значение false:

  • display_name
  • external_user_allowed
  • space_type

create_time и last_active_time принимают временную метку в формате RFC-3339. Поддерживаются следующие операторы сравнения: =, <, >, <=, >=.

Параметр customer обязателен, если для useAdminAccess задано значение true. Он указывает, из какого клиента нужно получить чат-группы. customers/my_customer – единственное допустимое значение.

Для display_name можно использовать только оператор HAS (:). Текст, который нужно сопоставить, сначала разбивается на токены. Затем каждый токен сопоставляется по префиксу без учета регистра и независимо как подстрока в любом месте поля display_name чат-группы. Например, Fun Eve соответствует Fun event или The evening was fun, но не notFun event или even. Если для параметра useAdminAccess задано значение false, то для получения значимых результатов необходимо указать параметр display_name. В противном случае режим работы по умолчанию — возвращать пустой ответ.

external_user_allowed принимает значение true или false.

space_history_state принимает только значения из поля historyState ресурса space.

space_type – обязательное свойство, единственным допустимым значением которого является SPACE.

Для разных полей поддерживаются только операторы AND. Пример допустимого значения: space_type = "SPACE" AND display_name:"Hello". Пример недопустимого значения: space_type = "SPACE" OR display_name:"Hello".

В одном поле space_type не поддерживает операторы AND и OR. display_name, space_history_state и external_user_allowed поддерживают только операторы OR. last_active_time и create_time поддерживают операторы AND и OR. AND можно использовать только для обозначения интервала, например last_active_time < "2022-01-01T00:00:00+00:00" AND last_active_time > "2023-01-01T00:00:00+00:00".

Если для параметра useAdminAccess задано значение true, то допустимы следующие запросы:

customer = "customers/my_customer" AND space_type = "SPACE"

customer = "customers/my_customer" AND space_type = "SPACE" AND
display_name:"Hello World"

customer = "customers/my_customer" AND space_type = "SPACE" AND
(last_active_time < "2020-01-01T00:00:00+00:00" OR last_active_time >
"2022-01-01T00:00:00+00:00")

customer = "customers/my_customer" AND space_type = "SPACE" AND
(display_name:"Hello World" OR display_name:"Fun event") AND
(last_active_time > "2020-01-01T00:00:00+00:00" AND last_active_time <
"2022-01-01T00:00:00+00:00")

customer = "customers/my_customer" AND space_type = "SPACE" AND
(create_time > "2019-01-01T00:00:00+00:00" AND create_time <
"2020-01-01T00:00:00+00:00") AND (external_user_allowed = "true") AND
(space_history_state = "HISTORY_ON" OR space_history_state = "HISTORY_OFF")

Если для параметра useAdminAccess задано значение false, то допустимы следующие запросы:

display_name:"Hello World" AND space_type = "SPACE"

(display_name:"Hello" OR display_name:"Fun") AND space_type = "SPACE"

(external_user_allowed = "true" AND space_type = "SPACE") // Returns an
empty response.

(external_user_allowed = "true" AND display_name:"Hello" AND space_type =
"SPACE")

Максимальная длина запроса – 1000 символов.

Недопустимые запросы отклоняются сервером с ошибкой INVALID_ARGUMENT.

order_by

string

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

Поддерживаемые атрибуты для сортировки:

  • membership_count.joined_direct_human_user_count – количество пользователей, которые присоединились к чат-группе напрямую.
  • last_active_time – время, когда в любую тему этой чат-группы был добавлен последний подходящий элемент.
  • create_time — время создания чат-группы.

Если для параметра useAdminAccess задано значение false, то для сортировки поддерживаются только значения create_time и relevance. Для этих полей в запросах, выполняемых не администратором, поддерживается только DESC.

Допустимые значения:

  • ASC – по возрастанию; Значение по умолчанию.

  • DESC – по убыванию.

Если для параметра useAdminAccess задано значение true, поддерживается следующий синтаксис:

  • membership_count.joined_direct_human_user_count DESC
  • membership_count.joined_direct_human_user_count ASC
  • last_active_time DESC
  • last_active_time ASC
  • create_time DESC
  • create_time ASC

Если для параметра useAdminAccess задано значение false:

SearchSpacesResponse

Ответ со списком чат-групп, соответствующих запросу на поиск чат-групп.

Поля
spaces[]
(deprecated)

Space

Устарело. Используйте новое поле results. Страница запрошенных чат-групп. Это поле будет заполнено, только если для useAdminAccess задано значение true. Оно будет упразднено, а вместо него будет использоваться новое поле results.

next_page_token

string

Токен, который можно использовать для получения следующей страницы. Если это поле пустое, значит последующих страниц нет.

Заполняется, только если для поля useAdminAccess задано значение true.

total_size

int32

Общее количество чат-групп, соответствующих запросу, на всех страницах. Если результат превышает 10 000 чат-групп, это значение является приблизительным.

Заполняется, только если для поля useAdminAccess задано значение true.

results[]

SearchSpaceResult

Только для вывода. Список результатов поиска, соответствующих запросу.

SearchSpaceResult

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

Поля
space

Space

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

Раздел

Представляет раздел в Google Chat. Разделы помогают пользователям упорядочивать чат-группы. Существует два типа разделов:

  1. Системные разделы. Это стандартные разделы, которыми управляет Google Chat. Названия ресурсов фиксированы, их нельзя создавать, удалять или изменять их display_name. Примеры:

    • users/{user}/sections/default-direct-messages
    • users/{user}/sections/default-spaces
    • users/{user}/sections/default-apps
  2. Свои разделы. Разделы, созданные пользователем. Чтобы создать свой раздел с помощью CreateSection, требуется display_name. Свои разделы можно обновлять с помощью UpdateSection и удалять с помощью DeleteSection.

Поля
name

string

Идентификатор. Название ресурса раздела.

Для системных разделов идентификатор раздела – это постоянная строка:

  • DEFAULT_DIRECT_MESSAGES: users/{user}/sections/default-direct-messages
  • DEFAULT_SPACES: users/{user}/sections/default-spaces
  • DEFAULT_APPS: users/{user}/sections/default-apps

Формат: users/{user}/sections/{section}

display_name

string

Необязательное поле. Отображаемое название раздела. Заполняется только для разделов типа CUSTOM_SECTION. Максимальная длина – 80 символов. Обязательно при создании CUSTOM_SECTION.

sort_order

int32

Только для вывода. Порядок раздела по отношению к другим разделам. Разделы с меньшим значением sort_order показываются раньше, чем разделы с большим значением.

type

SectionType

Обязательно. Тип раздела.

SectionType

Типы разделов.

Перечисления
SECTION_TYPE_UNSPECIFIED Тип раздела не указан.
CUSTOM_SECTION Свой раздел.
DEFAULT_DIRECT_MESSAGES Раздел по умолчанию, содержащий DIRECT_MESSAGE между двумя пользователями или чат-группы GROUP_CHAT, которые не принадлежат ни к одному пользовательскому разделу.
DEFAULT_SPACES Чат-группы по умолчанию, которые не относятся ни к одному из разделов.
DEFAULT_APPS Раздел по умолчанию, в котором находятся установленные приложения пользователя.

SectionItem

Определенный пользователем элемент раздела. Используется для представления элементов раздела, например чат-групп, сгруппированных в разделе.

Поля
name

string

Идентификатор. Название ресурса элемента раздела.

Формат: users/{user}/sections/{section}/items/{item}

Объединенное поле item. Обязательно. Элемент раздела. item может иметь одно из следующих значений:
space

string

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

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

SetUpSpaceRequest

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

Поля
space

Space

Обязательно. Поле Space.spaceType обязательно для заполнения.

Чтобы создать чат-группу, задайте для Space.spaceType значение SPACE и укажите Space.displayName. Если при настройке чат-группы вы видите сообщение об ошибке ALREADY_EXISTS, попробуйте использовать другое значение displayName. Возможно, в организации Google Workspace уже есть чат-группа с таким отображаемым названием.

Чтобы создать групповой чат, задайте для параметра Space.spaceType значение GROUP_CHAT. Не указывайте Space.displayName.

Чтобы создать чат 1:1 между людьми, задайте для Space.spaceType значение DIRECT_MESSAGE, а для Space.singleUserBotDm – false. Не указывайте Space.displayName или Space.spaceDetails.

Чтобы создать чат 1:1 между пользователем и вызывающим приложением Chat, задайте для Space.spaceType значение DIRECT_MESSAGE, а для Space.singleUserBotDm – true. Не указывайте Space.displayName или Space.spaceDetails.

Если чат-группа DIRECT_MESSAGE уже существует, возвращается она, а не создается новая.

request_id

string

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

Чтобы эффективно использовать это поле:

  • Убедитесь, что последующие запросы идентичны и используют те же учетные данные для аутентификации, что и исходный запрос.
  • Если чат-группа с указанным идентификатором запроса уже создана, запрос возвращает эту чат-группу. Обратите внимание, что возвращенное пространство может быть заполнено не полностью. API возвращает пространство в вашем запросе с заполненным именем ресурса, назначенным системой. Чтобы получить последние метаданные чат-группы, вызовите GetSpace.
  • Повторное использование существующего идентификатора запроса с другим аутентифицированным пользователем приведет к ошибке.
memberships[]

Membership

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

В настоящее время в набор можно добавить до 49 участников (не считая вызывающего абонента).

Для пользователя поле Membership.member должно содержать user с заполненным полем name (формат: users/{user}) и type со значением User.Type.HUMAN. При настройке чат-группы можно добавлять только пользователей-людей (добавление приложений Chat поддерживается только для настройки прямой переписки с приложением для звонков). Вы также можете добавить участников, используя адрес электронной почты пользователя в качестве псевдонима для {user}. Например, user.name может быть users/example@gmail.com. Чтобы пригласить пользователей Gmail или пользователей из внешних доменов Google Workspace, в качестве значения {user} необходимо указать адрес электронной почты пользователя.

Для участия в группе Google поле Membership.group_member должно содержать group с заполненным name (формат groups/{group}). Вы можете добавлять группы Google, только если для Space.spaceType задано значение SPACE.

Необязательный параметр, если для Space.spaceType задано значение SPACE.

Обязательно, если для параметра Space.spaceType задано значение GROUP_CHAT, а также если указано не менее двух участников.

Обязательно, если для Space.spaceType задано значение DIRECT_MESSAGE с пользователем-человеком и ровно одним участником.

Должно быть пустым при создании чата 1:1 между пользователем и вызывающим приложением Chat (когда для Space.spaceType задано значение DIRECT_MESSAGE, а для Space.singleUserBotDm – true).

SlashCommand

Метаданные о слеш-команде в Google Chat.

Поля
command_id

int64

Идентификатор слеш-команды.

SlashCommandMetadata

Метаданные аннотаций для слеш-команд (/).

Поля
bot

User

Приложение Chat, команда которого была вызвана.

type

Type

Тип слеш-команды.

command_name

string

Название вызванной слеш-команды.

command_id

int64

Идентификатор вызванной слеш-команды.

triggers_dialog

bool

Указывает, предназначена ли слеш-команда для диалогового окна.

Тип

Перечисления
TYPE_UNSPECIFIED Значение по умолчанию для перечисления. Не использовать.
ADD Добавьте приложение Chat в чат-группу.
INVOKE Вызвать слеш-команду в чат-группе.

Пробел

В чат-группе Google Chat. Чат-группы – это чаты между двумя или более пользователями или переписки между пользователем и приложением Chat.

Поля
name

string

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

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

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

type
(deprecated)

Type

Только для вывода. Устарело. Используйте вместо него space_type. Тип чат-группы.

space_type

SpaceType

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

single_user_bot_dm

bool

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

threaded
(deprecated)

bool

Только для вывода. Устарело. Используйте вместо него spaceThreadingState. Указывает, объединены ли сообщения в этой чат-группе в цепочки.

display_name

string

Необязательное поле. Отображаемое название чат-группы. Обязательно при создании чат-группы с spaceType, равным SPACE. Если при создании чат-группы или обновлении displayName вы видите сообщение об ошибке ALREADY_EXISTS, попробуйте использовать другое значение displayName. Возможно, в организации Google Workspace уже есть чат-группа с таким отображаемым названием.

Для прямых переписок это поле может быть пустым.

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

external_user_allowed

bool

Необязательное поле. Не меняется. Разрешено ли добавлять в чат-группу любого пользователя Google Chat. Вводится при создании чат-группы в организации Google Workspace. Пропустите это поле при создании чат-групп в следующих условиях:

  • Пользователь, прошедший аутентификацию, использует обычный аккаунт (аккаунт пользователя без управления). По умолчанию в чат-группу, созданную в обычном аккаунте, можно пригласить любого пользователя Google Chat.

Для существующих чат-групп это поле предназначено только для вывода.

space_threading_state

SpaceThreadingState

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

space_details

SpaceDetails

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

space_history_state

HistoryState

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

import_mode

bool

Необязательное поле. Создана ли эта чат-группа в Import Mode в рамках переноса данных в Google Workspace. Пока чат-группы импортируются, они не видны пользователям.

Чтобы создать чат-группу в Import Mode, требуется аутентификация пользователя.

create_time

Timestamp

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

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

Заполняется в выходных данных, только если для поля spaceType задано значение GROUP_CHAT или SPACE.

last_active_time

Timestamp

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

admin_installed

bool

Только для вывода. Для чат-групп с прямой перепиской с приложением Chat – была ли чат-группа создана администратором Google Workspace. Администраторы могут устанавливать приложения Chat и настраивать прямую переписку с ними от имени пользователей в организации.

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

membership_count

MembershipCount

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

access_settings

AccessSettings

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

space_uri

string

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

import_mode_expire_time

Timestamp

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

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

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

customer

string

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

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

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

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

PredefinedPermissionSettings

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

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

permission_settings

PermissionSettings

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

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

AccessPermissionSetting

Настройка разрешений на доступ.

Поля
principals[]

Principal

Необязательное поле. Маркированный список. Пользователи, которым предоставлено это разрешение.

AccessPermissionSettings

Настройки разрешений для чат-группы.

Поля
discover_space_setting

AccessPermissionSetting

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

join_space_setting

AccessPermissionSetting

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

view_space_membership_setting

AccessPermissionSetting

Необязательное поле. Настройка разрешения на доступ для просмотра участников чат-группы. При обновлении списка пользователей, которые могут просматривать участников чат-группы, это поле должно быть указано вместе с PermissionSettings.view_space_membership в маске обновления и теле запроса. При предоставлении целевой аудитории доступа для просмотра необходимо также предоставить PermissionSettings.view_space_membership всем участникам в том же запросе. Чтобы удалить существующую целевую аудиторию (например, чтобы ограничить доступ для просмотра только менеджерами чат-группы или помощниками менеджеров), укажите пустой AccessPermissionSetting (без principals).

AccessSettings

Представляет настройку доступа чат-группы.

Поля
access_state

AccessState

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

audience

string

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

Формат: audiences/{audience}

Чтобы использовать целевую аудиторию по умолчанию для организации Google Workspace, выберите audiences/default.

Чтение целевой аудитории поддерживает:

Это поле не заполняется, если используется область действия chat.bot с аутентификацией приложения.

Для настройки целевой аудитории требуется аутентификация пользователей.

access_permission_settings

AccessPermissionSettings

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

Чтобы задать целевую аудиторию при создании чат-группы, укажите поле accessSettings.audience в запросе.

AccessState

Представляет статус доступа к чат-группе.

Перечисления
ACCESS_STATE_UNSPECIFIED Статус доступа неизвестен или не поддерживается в этом API.
PRIVATE Находить чат-группу и получать к ней доступ могут только пользователи и группы Google, которые были добавлены или приглашены другими пользователями или администраторами Google Workspace.
DISCOVERABLE

Менеджер чат-группы предоставил целевой аудитории доступ к чат-группе. Пользователи и группы Google, которые были добавлены или приглашены в чат-группу, также могут находить ее и получать к ней доступ. Подробнее о том, как сделать чат-группу доступной для поиска определенным пользователям…

Для создания чат-групп, доступных для поиска, требуется аутентификация пользователя.

MembershipCount

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

Поля
joined_direct_human_user_count

int32

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

joined_group_count

int32

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

PermissionSetting

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

Поля
managers_allowed

bool

Необязательное поле. Есть ли это разрешение у владельцев чат-групп (ROLE_MANAGER).

members_allowed

bool

Необязательное поле. Есть ли это разрешение у обычных участников чат-группы (ROLE_MEMBER).

assistant_managers_allowed

bool

Необязательное поле. Есть ли это разрешение у менеджеров чат-группы (ROLE_ASSISTANT_MANAGER).

PermissionSettings

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

Чтобы задать настройки разрешений при создании чат-группы, укажите в запросе поле PredefinedPermissionSettings.

Поля
manage_members_and_groups

PermissionSetting

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

modify_space_details

PermissionSetting

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

toggle_history

PermissionSetting

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

use_at_mention_all

PermissionSetting

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

manage_apps

PermissionSetting

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

manage_webhooks

PermissionSetting

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

post_messages

PermissionSetting

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

reply_messages

PermissionSetting

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

view_space_membership

PermissionSetting

Необязательное поле. Настройка для просмотра списка участников чат-группы. При обновлении списка пользователей, которые могут просматривать участников чат-группы, это поле должно быть указано вместе с AccessPermissionSettings.view_space_membership_setting в маске обновления и теле запроса. Если вы хотите ограничить доступ к просмотру для определенных ролей (например, только для менеджеров чат-группы или помощников менеджеров), укажите нужные разрешения для ролей здесь и добавьте пустой параметр AccessPermissionSettings.view_space_membership_setting в тот же запрос. Если целевая аудитория настроена в AccessPermissionSettings.view_space_membership_setting, это разрешение должно быть предоставлено всем участникам.

PredefinedPermissionSettings

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

Перечисления
PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED Не указано. Не использовать.
COLLABORATION_SPACE Настройка, позволяющая сделать чат-группу пространством для совместной работы, где все участники могут публиковать сообщения.
ANNOUNCEMENT_SPACE Настройка, позволяющая сделать чат-группу группой для объявлений, в которой только менеджеры могут публиковать сообщения.

Субъект

Субъект, представляющий объект, которому предоставлен доступ.

Поля
Объединенное поле principal_type. Тип субъекта. principal_type может иметь одно из следующих значений:
audience

Audience

Аудитория.

SpaceDetails

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

Поля
description

string

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

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

guidelines

string

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

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

SpaceThreadingState

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

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

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

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

SpaceType

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

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

Тип

Устарело. Используйте вместо него SpaceType.

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

SpaceBatchUpdatedEventData

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

Тип события: google.workspace.chat.space.v1.batchUpdated

Поля
spaces[]

SpaceUpdatedEventData

Список обновленных чат-групп.

SpaceEvent

Событие, представляющее изменение или действие в чат-группе Google Chat. Подробнее о том, как работать с событиями из Google Chat…

Поля
name

string

Название ресурса события чат-группы.

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

event_time

Timestamp

Время, когда произошло событие.

event_type

string

Тип события чат-группы. У каждого типа события есть пакетная версия, которая представляет несколько экземпляров типа события, происходящих за короткий период времени. Для запросов spaceEvents.list() не указывайте типы пакетных событий в фильтре запросов. По умолчанию сервер возвращает как тип события, так и его пакетную версию.

Поддерживаемые типы событий для сообщений:

  • Новое сообщение: google.workspace.chat.message.v1.created
  • Обновленное сообщение: google.workspace.chat.message.v1.updated
  • Удаленное сообщение: google.workspace.chat.message.v1.deleted
  • Несколько новых сообщений: google.workspace.chat.message.v1.batchCreated.
  • Несколько обновленных сообщений: google.workspace.chat.message.v1.batchUpdated
  • Удалено несколько сообщений: google.workspace.chat.message.v1.batchDeleted

Поддерживаемые типы событий для спонсорства:

  • Новая подписка: google.workspace.chat.membership.v1.created
  • Обновленная подписка: google.workspace.chat.membership.v1.updated
  • Удалено участие в группе: google.workspace.chat.membership.v1.deleted
  • Несколько новых спонсоров: google.workspace.chat.membership.v1.batchCreated
  • Обновлено несколько подписок: google.workspace.chat.membership.v1.batchUpdated
  • Удалено несколько подписок: google.workspace.chat.membership.v1.batchDeleted

Поддерживаемые типы событий для откликов:

  • Новая реакция: google.workspace.chat.reaction.v1.created
  • Удалена реакция: google.workspace.chat.reaction.v1.deleted
  • Несколько новых реакций: google.workspace.chat.reaction.v1.batchCreated
  • Удалено несколько реакций: google.workspace.chat.reaction.v1.batchDeleted.

Поддерживаемые типы событий, связанных с чат-группой:

  • Обновлено пространство: google.workspace.chat.space.v1.updated
  • Несколько обновлений чат-группы: google.workspace.chat.space.v1.batchUpdated

Объединенное поле payload.

Поле payload может иметь одно из следующих значений:

message_created_event_data

MessageCreatedEventData

Полезная нагрузка события для нового сообщения.

Тип события: google.workspace.chat.message.v1.created

message_updated_event_data

MessageUpdatedEventData

Полезная нагрузка события для обновленного сообщения.

Тип события: google.workspace.chat.message.v1.updated

message_deleted_event_data

MessageDeletedEventData

Полезная нагрузка события для удаленного сообщения.

Тип события: google.workspace.chat.message.v1.deleted

message_batch_created_event_data

MessageBatchCreatedEventData

Полезная нагрузка события для нескольких новых сообщений.

Тип события: google.workspace.chat.message.v1.batchCreated

message_batch_updated_event_data

MessageBatchUpdatedEventData

Полезная нагрузка события для нескольких обновленных сообщений.

Тип события: google.workspace.chat.message.v1.batchUpdated

message_batch_deleted_event_data

MessageBatchDeletedEventData

Полезная нагрузка события для нескольких удаленных сообщений.

Тип события: google.workspace.chat.message.v1.batchDeleted

space_updated_event_data

SpaceUpdatedEventData

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

Тип события: google.workspace.chat.space.v1.updated

space_batch_updated_event_data

SpaceBatchUpdatedEventData

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

Тип события: google.workspace.chat.space.v1.batchUpdated

membership_created_event_data

MembershipCreatedEventData

Полезная нагрузка события для нового участника.

Тип события: google.workspace.chat.membership.v1.created

membership_updated_event_data

MembershipUpdatedEventData

Полезная нагрузка события для обновленного членства.

Тип события: google.workspace.chat.membership.v1.updated

membership_deleted_event_data

MembershipDeletedEventData

Полезная нагрузка события для удаленного членства.

Тип события: google.workspace.chat.membership.v1.deleted

membership_batch_created_event_data

MembershipBatchCreatedEventData

Полезная нагрузка события для нескольких новых спонсоров.

Тип события: google.workspace.chat.membership.v1.batchCreated

membership_batch_updated_event_data

MembershipBatchUpdatedEventData

Полезная нагрузка события для нескольких обновленных подписок.

Тип события: google.workspace.chat.membership.v1.batchUpdated

membership_batch_deleted_event_data

MembershipBatchDeletedEventData

Полезная нагрузка события для нескольких удаленных подписок.

Тип события: google.workspace.chat.membership.v1.batchDeleted

reaction_created_event_data

ReactionCreatedEventData

Полезная нагрузка события для новой реакции.

Тип события: google.workspace.chat.reaction.v1.created

reaction_deleted_event_data

ReactionDeletedEventData

Полезная нагрузка события для удаленной реакции.

Тип события: google.workspace.chat.reaction.v1.deleted

reaction_batch_created_event_data

ReactionBatchCreatedEventData

Полезная нагрузка события для нескольких новых откликов.

Тип события: google.workspace.chat.reaction.v1.batchCreated

reaction_batch_deleted_event_data

ReactionBatchDeletedEventData

Полезная нагрузка события для нескольких удаленных реакций.

Тип события: google.workspace.chat.reaction.v1.batchDeleted

SpaceNotificationSetting

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

Поля
name

string

Идентификатор. Название ресурса настройки уведомлений чат-группы. Формат: users/{user}/spaces/{space}/spaceNotificationSetting.

notification_setting

NotificationSetting

Настройка уведомлений.

mute_setting

MuteSetting

Настройка отключения уведомлений чат-группы.

MuteSetting

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

Перечисления
MUTE_SETTING_UNSPECIFIED Зарезервировано.
UNMUTED Пользователь будет получать уведомления для чат-группы в соответствии с настройками уведомлений.
MUTED Пользователь не будет получать уведомления из чат-группы независимо от настроек уведомлений.

NotificationSetting

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

Перечисления
NOTIFICATION_SETTING_UNSPECIFIED Зарезервировано.
ALL Уведомления отправляются при @упоминаниях, ответах в цепочках, на которые вы подписаны, и при первом сообщении в новой цепочке. Вы автоматически подписываетесь на все новые цепочки, если не отмените подписку вручную.
MAIN_CONVERSATIONS Уведомления отправляются при @упоминаниях, ответах в цепочках, на которые вы подписаны, и при первом сообщении в новой цепочке. Недоступно для прямых переписок 1:1.
FOR_YOU Уведомление отправляется при @упоминаниях и ответах в цепочках, на которые вы подписаны. Недоступно для прямых переписок 1:1.
OFF Уведомления отключены.

SpaceReadState

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

Поля
name

string

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

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

last_read_time

Timestamp

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

SpaceUpdatedEventData

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

Тип события: google.workspace.chat.space.v1.updated

Поля
space

Space

Обновленная чат-группа.

SpaceView

Представление, которое указывает, какие поля должны быть заполнены в ресурсе Space. Чтобы обеспечить совместимость с будущими выпусками, рекомендуем добавить в код дополнительные значения.

Перечисления
SPACE_VIEW_UNSPECIFIED Значение по умолчанию или незаданное значение.
SPACE_VIEW_RESOURCE_NAME_ONLY Заполняет только название ресурса чат-группы.
SPACE_VIEW_EXPANDED Заполняет поля ресурса Space. Примечание. Поле permissionSettings не будет заполнено. Запросы, в которых указано SPACE_VIEW_EXPANDED, должны включать области действия, разрешающие чтение данных чат-группы, например https://www.googleapis.com/auth/chat.spaces или https://www.googleapis.com/auth/chat.spaces.readonly.

Цепочка

В цепочке в чат-группе Google Chat. Пример использования приведен в разделе Как начать цепочку или ответить в ней.

Если вы указываете цепочку при создании сообщения, то можете задать поле messageReplyOption, чтобы определить, что произойдет, если подходящая цепочка не будет найдена.

Поля
name

string

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

Пример: spaces/{space}/threads/{thread}

thread_key

string

Необязательное поле. Входные данные для создания или обновления цепочки. В противном случае используется только для вывода. Идентификатор цепочки. Максимальная длина – 4000 символов.

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

ThreadReadState

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

Поля
name

string

Название ресурса статуса прочтения цепочки.

Формат: users/{user}/spaces/{space}/threads/{thread}/threadReadState

last_read_time

Timestamp

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

UpdateAvailabilityRequest

Сообщение запроса для метода UpdateAvailability.

Поля
availability

Availability

Обязательно. Обновляемые сведения о наличии.

update_mask

FieldMask

Обязательно. Список полей, которые нужно обновить. Единственное поле, которое можно изменить, – custom_status.

UpdateMembershipRequest

Сообщение с запросом на обновление подписки.

Поля
membership

Membership

Обязательно. Обновляемое участие. Обновляются только поля, указанные в update_mask.

update_mask

FieldMask

Обязательно. Пути к полям, которые нужно обновить. Если значений несколько, разделите их запятыми или используйте *, чтобы обновить все пути к полям.

Поддерживаемые пути полей:

  • role
use_admin_access

bool

Необязательное поле. Если задано значение true, метод выполняется с правами администратора Google Workspace.

Пользователь, вызывающий метод, должен быть администратором Google Workspace с правом на управление чатами и чат-группами.

Требуется область действия OAuth 2.0 chat.admin.memberships.

UpdateMessageRequest

Запрос на обновление сообщения.

Поля
message

Message

Обязательно. Сообщение с обновленными полями.

update_mask

FieldMask

Обязательно. Пути к полям, которые нужно обновить. Если значений несколько, разделите их запятыми или используйте *, чтобы обновить все пути к полям.

Поддерживаемые пути полей:

allow_missing

bool

Необязательное поле. Если указан заголовок true, но сообщение не найдено, создается новое сообщение, а заголовок updateMask игнорируется. Указанный идентификатор сообщения должен быть назначен клиентом, иначе запрос не будет выполнен.

UpdateSectionRequest

Сообщение с запросом на обновление раздела.

Поля
section

Section

Обязательно. Раздел, который нужно обновить.

update_mask

FieldMask

Обязательно. Маска, указывающая, какие поля нужно обновить.

Поддерживаемые пути полей:

  • display_name

UpdateSpaceNotificationSettingRequest

Запрос на изменение настроек уведомлений чат-группы. Поддерживается только обновление настроек уведомлений для вызывающего пользователя.

Поля
space_notification_setting

SpaceNotificationSetting

Обязательно. Название ресурса для настроек уведомлений чат-группы должно быть указано в формате users/{user}/spaces/{space}/spaceNotificationSetting. Обновляются только поля, указанные в update_mask.

update_mask

FieldMask

Обязательно. Поддерживаемые пути полей:

  • notification_setting

  • mute_setting

UpdateSpaceReadStateRequest

Сообщение запроса для UpdateSpaceReadState API.

Поля
space_read_state

SpaceReadState

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

Поддерживается только обновление статуса прочтения для вызывающего пользователя.

Чтобы сослаться на вызывающего пользователя, задайте одно из следующих значений:

  • Псевдоним me. Пример: users/me/spaces/{space}/spaceReadState.

  • Адрес электронной почты Workspace. например users/user@example.com/spaces/{space}/spaceReadState (2-е издание).

  • идентификатор пользователя; например users/123456789/spaces/{space}/spaceReadState (2-е издание).

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

update_mask

FieldMask

Обязательно. Пути к полям, которые нужно обновить. Поддерживаемые пути полей:

  • last_read_time

Если last_read_time предшествует времени создания последнего сообщения, чат-группа отображается в интерфейсе как непрочитанная.

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

UpdateSpaceRequest

Запрос на обновление одной чат-группы.

Поля
space

Space

Обязательно. Чат-группа с полями, которые нужно обновить. Значение Space.name должно быть указано в формате spaces/{space}. Обновляются только поля, указанные в update_mask.

update_mask

FieldMask

Обязательно. Обновленные пути полей, разделенные запятыми, если их несколько.

Для чат-группы можно изменить следующие поля:

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

display_name: поддерживается только обновление отображаемого названия для чат-групп, у которых поле spaceType имеет значение SPACE. Если вы получили сообщение об ошибке ALREADY_EXISTS, попробуйте другое значение. Возможно, в организации Google Workspace уже есть чат-группа с таким отображаемым названием.

space_type: поддерживается только изменение типа чат-группы с GROUP_CHAT на SPACE. Добавьте display_name вместе с space_type в маску обновления и убедитесь, что у указанной чат-группы есть непустое отображаемое название и тип чат-группы SPACE. Если у чат-группы уже есть тип SPACE, то при обновлении отображаемого названия указывать маску space_type и тип SPACE в указанной чат-группе необязательно. Если вы попытаетесь изменить тип чат-группы другим способом, то получите ошибку недопустимого аргумента. space_type не поддерживается в useAdminAccess.

space_history_state – обновляет настройки истории чат-группы, включая или отключая историю для чат-группы. Поддерживается, только если в организации Google Workspace включены настройки истории. Чтобы обновить статус истории чат-группы, необходимо удалить из запроса все остальные маски полей. space_history_state не поддерживается в useAdminAccess.

access_settings.audience – обновляет настройку доступа, которая определяет, кто может находить чат-группу, присоединяться к ней и просматривать сообщения в именованной чат-группе, где поле spaceType имеет значение SPACE. Если у существующей чат-группы есть целевая аудитория, вы можете удалить ее и ограничить доступ к чат-группе, не указывая значение для этой маски поля. Чтобы обновить настройки доступа к чат-группе, пользователь, выполняющий аутентификацию, должен быть менеджером чат-группы и не указывать в запросе другие маски полей. Вы не можете изменить это поле, если чат-группа находится в режиме импорта. Подробнее о том, как сделать чат-группу доступной для поиска определенным пользователям… access_settings.audience не поддерживается в useAdminAccess.

access_settings.access_permission_settings – обновляет настройки разрешений на доступ, определяющие, кто может находить чат-группу и присоединяться к ней, где поле spaceType имеет значение SPACE. Пользователи, которым разрешено присоединяться к чат-группе, также должны иметь возможность находить ее. Чтобы изменить настройки разрешений на доступ к чат-группе, пользователь, выполняющий аутентификацию, должен быть менеджером или помощником менеджера чат-группы и опустить все остальные маски полей в запросе. Вы не можете изменить это поле, если чат-группа находится в режиме импорта. Подробнее о том, как сделать чат-группу доступной для поиска определенным пользователям… access_settings.access_permission_settings не поддерживается в useAdminAccess. Поддерживаются следующие маски полей:

  • access_settings.access_permission_settings.discoverSpaceSetting
  • access_settings.access_permission_settings.joinSpaceSetting
  • access_settings.access_permission_settings.viewSpaceMembershipSetting

permission_settings – позволяет менять настройки разрешений чат-группы. При обновлении настроек разрешений можно указывать только маски полей permissionSettings. Другие маски полей обновлять одновременно нельзя. Поддерживаются следующие маски полей:

  • permission_settings.manageMembersAndGroups
  • permission_settings.modifySpaceDetails
  • permission_settings.toggleHistory
  • permission_settings.useAtMentionAll
  • permission_settings.manageApps
  • permission_settings.manageWebhooks
  • permission_settings.replyMessages
  • permission_settings.viewSpaceMembership
use_admin_access

bool

Необязательное поле. Если задано значение true, метод выполняется с правами администратора Google Workspace.

Пользователь, вызывающий метод, должен быть администратором Google Workspace с правом на управление чатами и чат-группами.

Требуется область действия OAuth 2.0 chat.admin.spaces.

Некоторые значения FieldMask не поддерживаются при доступе с правами администратора. Подробную информацию можно найти в описании update_mask.

Пользователь

Пользователь в Google Chat.

Если ваше приложение Chat выполняет аутентификацию от имени пользователя, то при получении ответа на запрос ресурс User (например, в Messages API и Memberships API) заполняет только поля name и type как для внутренних, так и для внешних пользователей, если они не являются участниками чат-группы или не связаны с вызывающим пользователем.

Поля
name

string

Название ресурса для user Google Chat.

Формат: users/{user}. users/app можно использовать как псевдоним для пользователя приложения для звонков bot.

Для human users {user} – это тот же идентификатор пользователя, что и:

  • id для Person в People API. Например, users/123456789 в Chat API представляет того же пользователя, что и идентификатор личного профиля 123456789 в People API.

  • id для пользователя в Admin SDK Directory API.

  • Адрес электронной почты пользователя можно использовать в качестве псевдонима для {user} в запросах к API. Например, если идентификатор профиля пользователя user@example.com в People API – 123456789, вы можете использовать users/user@example.com в качестве псевдонима для ссылки на users/123456789. API возвращает только каноническое название ресурса (например, users/123456789).

display_name

string

Только для вывода. Отображаемое имя пользователя.

Заполняется как для аутентификации приложения, так и для аутентификации пользователя. Это поле всегда заполняется для запросов, выполненных с аутентификацией приложения. При вызове API Messages и Memberships с аутентификацией пользователя это поле заполняется как для внутренних, так и для внешних пользователей для sender сообщения, пользователей в annotations (например, упоминаний пользователей) и в ресурсах Membership, если пользователь является участником чат-группы или имеет предварительную связь с вызывающим пользователем.

avatar_url

string

Только для вывода. URL аватара пользователя.

При вызове API Messages и Memberships с аутентификацией пользователей это поле заполняется как для внутренних, так и для внешних пользователей для sender сообщения, пользователей в annotations (например, упоминаний пользователей) и в ресурсах Membership, если пользователь является участником чат-группы или имеет предварительную связь с вызывающим пользователем.

email

string

Только для вывода. Адрес электронной почты пользователя.

При вызове API Messages и Memberships с аутентификацией пользователей это поле заполняется как для внутренних, так и для внешних пользователей для sender сообщения, пользователей в annotations (например, упоминаний пользователей) и в ресурсах Membership, если пользователь является участником чат-группы или имеет предварительную связь с вызывающим пользователем.

domain_id

string

Уникальный идентификатор домена Google Workspace пользователя.

type

Type

Тип пользователя.

is_anonymous

bool

Только для вывода. Если true, пользователь удален или его профиль не виден, например когда пользователь упоминается в чат-группе, не являясь ее участником и не имея предварительной связи с вызывающим пользователем.

Тип

Перечисления
TYPE_UNSPECIFIED Значение по умолчанию для перечисления. DO NOT USE.
HUMAN Пользователь-человек.
BOT Пользователь приложения Chat.

UserMentionMetadata

Метаданные аннотаций для упоминаний пользователей (@).

Поля
user

User

Упомянутый пользователь.

type

Type

Тип упоминания пользователя.

Тип

Перечисления
TYPE_UNSPECIFIED Значение по умолчанию для перечисления. Не использовать.
ADD Добавить пользователя в чат-группу.
MENTION Упоминать пользователей в чат-группе.

WidgetMarkup

Виджет – это элемент интерфейса, который содержит текст и изображения.

Поля
buttons[]

Button

Список кнопок. Кнопки также oneof data, и должно быть задано только одно из этих полей.

Объединенное поле data. WidgetMarkup может содержать только один из следующих элементов: Чтобы показать больше товаров, можно использовать несколько полей WidgetMarkup. Поле data может иметь одно из следующих значений:
text_paragraph

TextParagraph

Показывает абзац текста.

image

Image

Показывает изображение в виджете.

key_value

KeyValue

Показывать в этом виджете элемент с ключом и значением.

Кнопка

Кнопка A. Это может быть текстовая кнопка или кнопка-изображение.

Поля

Объединенное поле type.

Поле type может иметь одно из следующих значений:

text_button

TextButton

Кнопка с текстом и действием onclick.

image_button

ImageButton

Кнопка с изображением и действием onclick.

FormAction

Действие формы описывает поведение при отправке формы. Например, вы можете вызвать Apps Script для обработки формы.

Поля
action_method_name

string

Название метода используется для определения того, какая часть формы инициировала ее отправку. Эта информация возвращается в приложение Chat в рамках события нажатия на карточку. Вы можете использовать одно и то же название метода для нескольких элементов, которые запускают общее поведение.

parameters[]

ActionParameter

Список параметров действия.

ActionParameter

Список строковых параметров, которые нужно передать при вызове метода действия. Например, у вас есть три кнопки откладывания: "Отложить сейчас", "Отложить на один день" и "Отложить на следующую неделю". Вы можете использовать action method = snooze(), передавая тип и время откладывания в списке строковых параметров.

Поля
key

string

Название параметра для скрипта действия.

value

string

Значение параметра.

Значок

Набор поддерживаемых значков.

Перечисления
ICON_UNSPECIFIED
AIRPLANE
BOOKMARK
BUS
CAR
CLOCK
CONFIRMATION_NUMBER_ICON
DOLLAR
DESCRIPTION
EMAIL
EVENT_PERFORMER
EVENT_SEAT
FLIGHT_ARRIVAL
FLIGHT_DEPARTURE
HOTEL
HOTEL_ROOM_TYPE
INVITE
MAP_PIN
MEMBERSHIP
MULTIPLE_PEOPLE
OFFER
PERSON
PHONE
RESTAURANT_ICON
SHOPPING_CART
STAR
STORE
TICKET
TRAIN
VIDEO_CAMERA
VIDEO_PLAY

Изображение

Изображение, заданное URL, с которым может быть связано действие onclick.

Поля
image_url

string

URL изображения.

on_click

OnClick

Действие onclick.

aspect_ratio

double

Соотношение сторон изображения (ширина и высота). Это поле позволяет зарезервировать место для изображения, пока оно загружается. Он не предназначен для переопределения встроенного соотношения сторон изображения. Если значение не задано, сервер заполняет его, предварительно загружая изображение.

ImageButton

Кнопка с изображением и действием onclick.

Поля
on_click

OnClick

Действие onclick.

name

string

Название этого элемента (image_button), используемое для специальных возможностей. Если название не указано, используется значение по умолчанию.

Объединенное поле icons. Значок можно указать с помощью Icon enum или URL. Поле icons может иметь одно из следующих значений:
icon

Icon

Значок, указанный в enum, который ссылается на значок, предоставленный Chat API.

icon_url

string

Значок, указанный в URL.

KeyValue

Элемент интерфейса содержит ключ (ярлык) и значение (контент). Этот элемент также может содержать некоторые действия, например кнопку onclick.

Поля
top_label

string

Текст верхнего ярлыка. Поддерживается форматированный текст. Дополнительную информацию о форматировании текста можно найти в статьях Форматирование текста в приложениях Google Chat и Форматирование текста в дополнениях Google Workspace.

content

string

Текст контента. Поддерживается форматированный текст. Всегда обязательный элемент. Дополнительную информацию о форматировании текста можно найти в статьях Форматирование текста в приложениях Google Chat и Форматирование текста в дополнениях Google Workspace.

content_multiline

bool

Должен ли контент быть многострочным.

bottom_label

string

Текст нижней метки. Поддерживается форматированный текст. Дополнительную информацию о форматировании текста можно найти в статьях Форматирование текста в приложениях Google Chat и Форматирование текста в дополнениях Google Workspace.

on_click

OnClick

Действие onclick. Нажимать можно только на верхний и нижний ярлыки, а также на область контента.

Объединенное поле icons. Необходимо указать хотя бы одно из следующих свойств: icons, top_label или bottom_label. Поле icons может иметь одно из следующих значений:
icon

Icon

Значение перечисления, которое заменяется Chat API на соответствующее изображение значка.

icon_url

string

Значок, указанный в URL.

Объединенное поле control. Виджет управления. Вы можете задать либо button, либо switch_widget, но не оба значения. Поле control может иметь одно из следующих значений:
button

Button

Кнопка, при нажатии на которую выполняется действие.

OnClick

Действие onclick (например, открытие ссылки).

Поля

Объединенное поле data.

Поле data может иметь одно из следующих значений:

action

FormAction

Если указано действие формы, оно запускается этим действием onclick.

TextButton

Кнопка с текстом и действием onclick.

Поля
text

string

Текст кнопки.

on_click

OnClick

Действие onclick кнопки.

TextParagraph

Абзац текста. Поддерживается форматированный текст. Дополнительную информацию о форматировании текста можно найти в статьях Форматирование текста в приложениях Google Chat и Форматирование текста в дополнениях Google Workspace.

Поля
text

string