Method: spaces.messages.create

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

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

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

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

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

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

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

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

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

HTTP-запрос

POST https://chat.googleapis.com/v1/{parent=spaces/*}/messages

URL имеет синтаксис gRPC Transcoding.

Параметры пути

Параметры
parent

string

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

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

Параметры запроса

Параметры
threadKey
(deprecated)

string

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

requestId

string

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

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

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

enum (MessageReplyOption)

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

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

messageId

string

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

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

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

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

createMessageNotificationOptions

object (CreateMessageNotificationOptions)

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

Тело запроса

Тело запроса содержит экземпляр Message.

Тело ответа

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

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

Требует одной из следующих областей применения 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

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

MessageReplyOption

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

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

CreateMessageNotificationOptions

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

JSON-представление
{
  "notificationType": enum (NotificationType)
}
Поля
notificationType

enum (NotificationType)

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

NotificationType

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

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

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

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

NOTIFICATION_TYPE_SILENT

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

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