Чтобы пользователям не приходилось переключаться между приложениями, когда они делятся ссылками в Google Chat, ваше приложение Chat может показывать предварительный просмотр ссылки, прикрепляя к сообщению карточку с дополнительной информацией и возможностью выполнить действие прямо в Google Chat.
Например, представьте чат-группу Google Chat, в которой состоят все агенты службы поддержки клиентов компании и приложение Chat Case-y. Сотрудники часто делятся ссылками на обращения клиентов в чат-группе Chat, и каждый раз их коллегам приходится открывать ссылку, чтобы посмотреть подробности, например ответственного, статус и тему. Аналогичным образом, если кто-то хочет стать владельцем запроса или изменить его статус, ему нужно перейти по ссылке.
Предпросмотр ссылок позволяет встроенному в чат-группу приложению Chat Case-y прикреплять карточку с информацией об исполнителе, статусе и теме, когда кто-то делится ссылкой на обращение. Кнопки на карточке позволяют агентам взять на себя ответственность за обращение и изменить его статус прямо в чате.
Как работает предпросмотр ссылок
Когда пользователь добавляет в сообщение ссылку, появляется чип, в котором говорится, что приложение Chat может показать предварительный просмотр ссылки.

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

На карточке рядом со ссылкой приводится дополнительная информация о ней, а также интерактивные элементы, например кнопки. Приложение Chat может обновлять прикрепленную карточку в ответ на действия пользователя, например нажатие кнопки.
Если пользователь не хочет, чтобы приложение Chat показывало предпросмотр ссылки, прикрепляя к сообщению карточку, он может отключить предпросмотр, нажав на значок на чипе предпросмотра. Пользователи могут удалить прикрепленную карточку в любое время, нажав Удалить предпросмотр.
Требования
HTTP
Приложение Google Chat, которое получает и обрабатывает действия пользователей. Чтобы создать его, выполните краткое руководство по HTTP.
Apps Script
Приложение Google Chat, которое получает и обрабатывает действия пользователей. Чтобы создать такой скрипт, выполните инструкции по началу работы с Apps Script.
Как настроить предпросмотр ссылок
Зарегистрируйте определенные ссылки, например example.com, support.example.com и support.example.com/cases/, как шаблоны URL на странице конфигурации приложения Chat в консоли Google Cloud, чтобы приложение Chat могло их предварительно просматривать.

- Откройте консоль Google Cloud.
- Рядом с Google Cloud нажмите на стрелку вниз и откройте проект приложения Chat.
- В строке поиска введите
Google Chat APIи нажмите Google Chat API. - Нажмите Управление > Конфигурация.
- В разделе "Предварительный просмотр ссылок" добавьте или измените шаблон URL.
- Чтобы настроить предварительный просмотр ссылок для нового шаблона URL, нажмите Добавить шаблон URL.
- Чтобы изменить конфигурацию для существующего шаблона URL, нажмите на стрелку вниз .
В поле Шаблон хоста введите домен шаблона URL. Приложение Chat будет выполнять предварительный просмотр ссылок на этот домен.
Чтобы приложение Chat показывало предварительный просмотр ссылок для определенного субдомена, например
subdomain.example.com, добавьте этот субдомен.Чтобы приложение Chat показывало предварительный просмотр ссылок для всего домена, укажите подстановочный знак с помощью звездочки (*) в качестве субдомена. Например,
*.example.comсоответствуетsubdomain.example.comиany.number.of.subdomains.example.com.В поле Префикс пути введите путь, который нужно добавить к домену шаблона хоста.
Чтобы сопоставить все URL в домене шаблона хоста, оставьте поле Префикс пути пустым.
Например, если шаблон хоста –
support.example.com, а вам нужно найти URL для случаев, размещенных на сайтеsupport.example.com/cases/, введитеcases/.Нажмите Готово.
Нажмите Сохранить.
Теперь, когда кто-то добавляет в сообщение в чат-группе, где есть ваше приложение Chat, ссылку, соответствующую шаблону URL предпросмотра ссылки, ваше приложение показывает предпросмотр этой ссылки.
Как посмотреть предпросмотр ссылки
После того как вы настроите предпросмотр ссылки, приложение Chat сможет распознавать ее и показывать ее предварительный просмотр, добавляя к ней дополнительную информацию.
В чат-группах, в которых есть ваше приложение Chat, когда в сообщении пользователя содержится ссылка, соответствующая шаблону URL предпросмотра ссылки, ваше приложение Chat получает объект события с MessagePayload.
В полезной нагрузке объект message.matchedUrl (chat.messagePayload.message.matchedUrl.url) содержит ссылку, которую пользователь добавил в сообщение:
JSON
message: {
matchedUrl: {
url: "https://support.example.com/cases/case123"
},
... // other message attributes redacted
}
Проверяя наличие поля matchedUrl в полезной нагрузке события MESSAGE (chat.messagePayload.message.matchedUrl.url), приложение Chat может добавлять информацию в сообщение с предварительно просмотренной ссылкой. Приложение Chat может ответить простым текстовым сообщением или прикрепить карточку.
Как ответить текстовым сообщением
Для простых ответов приложение Chat может показать предварительный просмотр ссылки, ответив на нее простым текстовым сообщением. В этом примере к сообщению добавляется URL ссылки, соответствующий шаблону URL предпросмотра ссылки.
Node.js
Замените FUNCTION_URL конечной точкой HTTP, которая обрабатывает нажатия кнопок.
Python
Замените FUNCTION_URL конечной точкой HTTP, которая обрабатывает нажатия кнопок.
Java
Замените FUNCTION_URL конечной точкой HTTP, которая обрабатывает нажатия кнопок.
Apps Script
Как прикрепить карточку с предпросмотром ссылки
Чтобы прикрепить карточку к ссылке, для которой выполняется предварительный просмотр, верните действие DataActions с объектом ChatDataActionMarkup типа UpdateInlinePreviewAction.
В следующем примере приложение Chat добавляет карточку предпросмотра в сообщения, содержащие шаблон URL support.example.com.

Node.js
Замените FUNCTION_URL конечной точкой HTTP, которая обрабатывает нажатия кнопок.
Python
Замените FUNCTION_URL конечной точкой HTTP, которая обрабатывает нажатия кнопок.
Java
Замените FUNCTION_URL конечной точкой HTTP, которая обрабатывает нажатия кнопок.
Apps Script
Как обновить карточку предпросмотра ссылки
Ваше приложение Chat может обновлять карточку предварительного просмотра ссылки, когда пользователи взаимодействуют с ней, например нажимают кнопку на карточке.
Чтобы обновить карточку, приложение Chat должно вернуть действие DataActions с одним из следующих объектов ChatDataActionMarkup:
- Если сообщение отправил пользователь, верните объект
UpdateMessageAction. - Если сообщение было отправлено приложением Chat, верните объект
UpdateInlinePreviewAction.
Чтобы определить, кто отправил сообщение, используйте полезную нагрузку события (buttonClickedPayload), чтобы проверить, задано ли для отправителя (message.sender.type) значение HUMAN (пользователь) или BOT (приложение Chat).
В примере ниже показано, как приложение Chat обновляет предпросмотр ссылки, когда пользователь нажимает кнопку Назначить мне. Для этого оно изменяет поле Исполнитель на карточке и отключает кнопку.

Node.js
Замените FUNCTION_URL конечной точкой HTTP, которая обрабатывает нажатия кнопок.
Python
Замените FUNCTION_URL конечной точкой HTTP, которая обрабатывает нажатия кнопок.
Java
Замените FUNCTION_URL конечной точкой HTTP, которая обрабатывает нажатия кнопок.
Apps Script
Ограничения и рекомендации
При настройке предпросмотра ссылок для приложения Chat учитывайте следующие ограничения и рекомендации:
- Каждое приложение Chat поддерживает предварительный просмотр ссылок для пяти шаблонов URL.
- В чат-приложениях отображается предпросмотр одной ссылки в сообщении. Если в письме несколько ссылок, для которых можно посмотреть предварительный просмотр, то он будет показан только для первой из них.
- В чат-приложениях можно просматривать ссылки, которые начинаются с
https://, поэтомуhttps://support.example.com/cases/будет показан, аsupport.example.com/cases/– нет. - Если в сообщении нет другой информации, которая отправляется в приложение Chat, например слеш-команды, то при предварительном просмотре ссылки в приложение Chat отправляется только URL ссылки.
- Если пользователь отправит ссылку, приложение Chat сможет обновить карточку предпросмотра ссылки только в том случае, если пользователи будут взаимодействовать с карточкой, например нажимать на кнопку. Вы не можете вызвать метод
update()API Chat для ресурсаMessage, чтобы асинхронно обновить сообщение пользователя. - Приложения Chat должны показывать предпросмотр ссылок всем участникам чат-группы, поэтому в сообщении не должно быть поля
privateMessageViewer.
Как устранять неполадки с предпросмотром ссылок
При реализации предпросмотра ссылок вам может понадобиться отладить приложение Chat, прочитав его журналы. Чтобы прочитать журналы, откройте Просмотр журналов в консоли Google Cloud.
Приложения Chat, которые не являются дополнениями: предпросмотр ссылок
Ниже приведена документация по приложениям Chat, которые не являются дополнениями Google Workspace. Чтобы перенести приложение Chat, которое не является дополнением, ознакомьтесь со статьей Как преобразовать приложение Google Chat в дополнение Google Workspace.
В чат-группах, в которых есть чат-приложение, не являющееся дополнением, когда сообщение пользователя содержит ссылку, соответствующую шаблону URL для предварительного просмотра ссылки, чат-приложение получает событие взаимодействия MESSAGE. Полезная нагрузка JSON для события взаимодействия содержит поле matchedUrl:
JSON
message: {
matchedUrl: {
url: "https://support.example.com/cases/case123"
},
... // other message attributes redacted
}
Проверяя наличие поля matchedUrl в полезной нагрузке события MESSAGE, чат-приложение, не являющееся дополнением, может добавлять информацию в сообщение с предварительно просмотренной ссылкой.
Как ответить текстовым сообщением
Для простых ответов приложение Chat, не являющееся дополнением, может показать предварительный просмотр ссылки, ответив на нее простым текстовым сообщением. В этом примере к сообщению добавляется URL ссылки, соответствующий шаблону URL предпросмотра ссылки:
Node.js
Python
Java
Apps Script
Как прикрепить карточку с предпросмотром ссылки
Чтобы прикрепить карточку к ссылке, для которой выполняется предварительный просмотр, в приложении Chat, не являющемся дополнением, верните объект ActionResponse типа UPDATE_USER_MESSAGE_CARDS. В этом примере прикрепляется базовая карточка:
Node.js
Python
Java
Apps Script
В этом примере отправляется сообщение с карточкой, для чего возвращается JSON-код карточки. Вы также можете использовать сервис карточек Apps Script.
Как обновить карточку предпросмотра ссылки
Чтобы обновить карточку предпросмотра ссылки в приложении Chat, которое не является дополнением, обработайте событие взаимодействия CARD_CLICKED и верните actionResponse в зависимости от того, кто отправил сообщение с предпросмотром ссылки:
- Если письмо отправил пользователь, задайте для параметра
actionResponse.typeзначениеUPDATE_USER_MESSAGE_CARDS. - Если сообщение было отправлено приложением Chat, задайте для параметра
actionResponse.typeзначениеUPDATE_MESSAGE.
Чтобы определить отправителя сообщения, используйте поле message.sender.type события взаимодействия. В нем указано, был ли отправитель пользователем HUMAN или BOT.
В примере ниже показано, как приложение Chat, которое не является дополнением, обновляет предпросмотр ссылки, когда пользователь нажимает кнопку Назначить мне. Для этого оно обновляет поле Исполнитель карточки и отключает кнопку:
Node.js
Python
Java
Apps Script
В этом примере отправляется сообщение с карточкой, для чего возвращается JSON-код карточки. Вы также можете использовать сервис карточек Apps Script.