Отправлять сообщения в Google Chat

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

  • Контактная форма из команды «косая черта».
    Рисунок 1. Приложение чата отвечает на команду с косой чертой текстовым сообщением и кнопкой.
  • Контактная форма в диалоговом режиме.
    Рисунок 2. Приложение чата открывает диалоговое окно, в котором пользователи могут вводить информацию.
  • Карточка сообщения с виджетами для ввода данных.
    Рисунок 5. Приложение чата отправляет сообщение с текстом и интерактивной карточкой.

Предпосылки

Node.js

Надстройка для Google Workspace, расширяющая возможности Google Chat. Чтобы создать её, выполните краткое руководство по HTTP .

Скрипт приложений

Надстройка для Google Workspace, расширяющая возможности Google Chat. Чтобы создать её, выполните краткое руководство по Apps Script .

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

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

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

Информацию о создании сообщений см. в следующей документации Google Chat API:

Ответить сообщением

Чат-приложения могут реагировать сообщением на любой из следующих триггеров или взаимодействий:

  • Триггеры сообщений , например, когда пользователи @упоминают или отправляют личные сообщения в чат-приложении.
  • Добавляется к триггерам пространства , например, когда пользователи устанавливают приложение Chat из Google Workspace Marketplace или добавляют его в пространство.
  • Нажатия кнопок на карточках в сообщениях или диалогах. Например, когда пользователи вводят информацию и нажимают кнопку «Отправить».

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

Чтобы ответить сообщением, верните действие DataActions с объектом CreateMessageAction :

{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {   "message": MESSAGE }}} 

Замените MESSAGE ресурсом Message из API чата. Подробнее о работе действий см. в разделе Действия чата .

В следующем примере приложение Chat создаёт и отправляет текстовое сообщение при каждом добавлении в чат. Чтобы отправить текстовое сообщение при добавлении пользователя в чат, приложение Chat реагирует на триггер «Добавлено в чат» , возвращая действие DataActions :

Node.js

/**  * Sends an onboarding message when the Chat app is added to a space.  *  * @param {Object} req The request object from Google Workspace add-on.  * @param {Object} res The response object from the Chat app. An onboarding message that  *                     introduces the app and helps people get started with it.  */ exports.cymbalApp = function cymbalApp(req, res) {   const chatEvent = req.body.chat;   // Send an onboarding message when added to a Chat space   if (chatEvent.addedToSpacePayload) {     res.json({ hostAppDataAction: { chatDataAction: { createMessageAction: { message: {       text: 'Hi, Cymbal at your service. I help you manage your calendar' +             'from Google Chat. Take a look at your schedule today by typing' +             '`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn' +             'what else I can do, type `/help`.'     }}}}});   } }; 

Скрипт приложений

/**  * Sends an onboarding message when the Chat app is added to a space.  *  * @param {Object} event The event object from Chat API.  * @return {Object} Response from the Chat app. An onboarding message that  *                  introduces the app and helps people get started with it.  */ function onAddedToSpace(event) {   return { hostAppDataAction: { chatDataAction: { createMessageAction: { message: {     text: 'Hi, Cymbal at your service. I help you manage your calendar' +           'from Google Chat. Take a look at your schedule today by typing' +           '`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn' +           'what else I can do, type `/help`.'   }}}}}; } 

Пример кода возвращает следующее текстовое сообщение:

Пример приветственного сообщения.

Дополнительные примеры того, как отвечать сообщением, см. в следующих руководствах:

Обновить сообщение

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

Чтобы обновить сообщение приложения чата, верните действие DataActions с UpdateMessageAction , как показано в следующем примере:

{ "hostAppDataAction": { "chatDataAction": { "updateMessageAction": {   "message": MESSAGE }}}} 

Замените MESSAGE ресурсом Message из API чата.

Дополнительную информацию о работе действий см. в разделе Действия чата .

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

Отвечайте на взаимодействия или отправляйте проактивные сообщения с помощью API Google Chat

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

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

Чтобы отправить сообщение с помощью API чата, необходимо настроить аутентификацию и вызвать метод create() ресурса Message . Инструкции см. в разделе Отправка сообщения с помощью API чата Google .