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


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


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


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


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


Node.js
Замените FUNCTION_URL на HTTP-адрес конечной точки, обрабатывающей нажатия кнопок.
Python
Замените FUNCTION_URL на HTTP-адрес конечной точки, обрабатывающей нажатия кнопок.
Java
Замените FUNCTION_URL на HTTP-адрес конечной точки, обрабатывающей нажатия кнопок.
Apps Script
Ограничения и соображения
При настройке предварительного просмотра ссылок для вашего чат-приложения учитывайте следующие ограничения и моменты:
- Каждое приложение для чата поддерживает предварительный просмотр ссылок для до 5 вариантов URL-адресов.
- В чат-приложениях предварительно отображается только одна ссылка в сообщении. Если в одном сообщении присутствует несколько ссылок, доступных для предварительного просмотра, отображается только первая из них.
- В чат-приложениях предварительный просмотр осуществляется только по ссылкам, начинающимся с
https://, поэтомуhttps://support.example.com/cases/отображается, аsupport.example.com/cases/нет. - Если сообщение не содержит другой информации, отправляемой в приложение чата, например, команды с косой чертой , то в предварительный просмотр ссылок в приложение чата отправляется только URL-адрес ссылки.
- Если пользователь отправляет ссылку, приложение чата может обновить карточку предварительного просмотра ссылки только в том случае, если пользователь взаимодействует с карточкой, например, нажимает кнопку. Вызов метода
update()API чата для ресурсаMessageневозможен для асинхронного обновления сообщения пользователя. - Приложения для чата должны отображать ссылки для всех участников сообщества, поэтому в сообщении не должно быть поля
privateMessageViewer.
Предварительный просмотр отладочных ссылок
При внедрении предварительного просмотра ссылок вам может потребоваться отладка приложения чата путем чтения журналов приложения. Чтобы прочитать журналы, перейдите в раздел « Обозреватель журналов» в консоли Google Cloud.