На этой странице объясняется, как приложения Google Chat могут отправлять сообщения в ответ на действия пользователя.
В Google Chat дополнения отображаются пользователям как приложения Google Chat. Дополнительную информацию см. в обзоре расширения Google Chat .
Рисунок 2. Приложение Chat открывает диалоговое окно, в котором пользователи могут вводить информацию. Рис. 5. Приложение Chat отправляет сообщение с текстом и интерактивной карточкой.
Предварительные условия
Node.js
Надстройка Google Workspace, расширяющая Google Chat. Чтобы создать его, выполните краткое руководство по HTTP .
Скрипт приложений
Надстройка Google Workspace, расширяющая Google Chat. Чтобы создать его, выполните краткое руководство по Apps Script .
Создайте сообщение
Приложения чата могут включать в сообщение любое из следующего:
- Текст, содержащий гиперссылки, @упоминания и смайлы.
- Одна или несколько карточек, которые могут появиться в сообщении или открыться в новом окне в виде диалога.
- Один или несколько вспомогательных виджетов, представляющих собой кнопки, которые появляются после любого текста или карточек в сообщении.
Дополнительные сведения о разработке сообщений см. в следующей документации по API Google Chat:
- Обзор обмена сообщениями
- Форматировать сообщения
- Создавайте карточки для приложений Google Chat
- Добавляйте текст и изображения на карточки
- Добавляйте интерактивные элементы пользовательского интерфейса на карточки.
Ответить сообщением
Приложения чата могут отвечать сообщением на любой из следующих триггеров или взаимодействий:
- Триггеры сообщений , например, когда пользователи @упоминают или отправляют личное сообщение в приложении чата.
- Добавлены в триггеры пространства , например, когда пользователи устанавливают приложение Chat из Google Workspace Marketplace или добавляют его в пространство.
- Нажатия кнопок с карточек в сообщениях или диалогах. Например, когда пользователи вводят информацию и нажимают «Отправить».
В противном случае приложения чата могут отправлять сообщения заранее , вызывая API чата Google .
Чтобы ответить сообщением, верните действие DataActions
с объектом CreateMessageAction
:
{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
"message": MESSAGE
}}}
Замените MESSAGE ресурсом Message
из Chat API. Чтобы узнать больше о том, как работают действия, см. Действия в чате .
В следующем примере приложение Chat создает и отправляет текстовое сообщение всякий раз, когда оно добавляется в пространство. Чтобы отправить текстовое сообщение, когда пользователь добавляет ваше приложение 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`.'
}}}}};
}
Пример кода возвращает следующее текстовое сообщение:
Дополнительные примеры того, как ответить сообщением, см. в следующих руководствах:
- Реагировать на команды слэша
- Открытие интерактивных диалогов
- Собирайте информацию от пользователей Google Chat
Обновить сообщение
Приложения чата также могут обновлять отправляемые ими сообщения. Например, чтобы обновить сообщение после того, как пользователь отправил диалоговое окно или нажал кнопку в сообщении.
Чтобы обновить сообщение приложения чата, верните действие DataActions
с помощью UpdateMessageAction
, как показано в следующем примере:
{ "hostAppDataAction": { "chatDataAction": { "updateMessageAction": {
"message": MESSAGE
}}}}
Замените MESSAGE ресурсом Message
из Chat API.
Чтобы узнать больше о том, как работают действия, см. Действия в чате .
Приложения чата также могут обновлять сообщение от пользователя, чтобы вернуть предварительный просмотр отправленной им ссылки. Подробную информацию см. в разделе Предварительный просмотр ссылок в сообщениях Google Chat .
Отвечайте на взаимодействия или отправляйте упреждающие сообщения с помощью Google Chat API.
Вместо возврата дополнительного действия приложениям чата может потребоваться использовать Google Chat API для ответа на взаимодействие. Например, приложения Chat должны вызывать API Google Chat, чтобы выполнить любое из следующих действий:
- Отправляйте сообщения по расписанию или об изменениях на внешних ресурсах. Например, уведомления о новой проблеме или деле.
- Ответьте более чем через 30 секунд после взаимодействия. Например, чтобы ответить сообщением после завершения длительной задачи.
- Отправьте сообщение за пределы места, где произошло взаимодействие.
- Отправьте сообщение от имени пользователя чата.
Чтобы отправить сообщение с помощью Chat API, необходимо настроить аутентификацию и вызвать метод create()
ресурса Message
. Инструкции см. в разделе «Отправка сообщения с помощью Google Chat API» .
Связанные темы
- Создавайте интерфейсы Google Chat
- Реагировать на команды слэша
- Открытие интерактивных диалогов
- Собирайте информацию от пользователей Google Chat
- Предварительный просмотр ссылок в сообщениях Google Chat
- Отправьте сообщение с помощью Google Chat API