В этом руководстве рассказывается, как использовать метод update для ресурса Message Google Chat API, чтобы обновить текстовое сообщение или сообщение-карточку в чат-группе. Обновление сообщения позволяет изменить его атрибуты, например текст или содержимое карточки. Вы также можете добавить текстовое сообщение перед карточкой или карточку после текстового сообщения.
В Chat API сообщение Chat представлено ресурсом Message.
Пользователи Chat могут отправлять только текстовые сообщения, а приложениям Chat доступно множество других функций, включая показ статических или интерактивных пользовательских интерфейсов, сбор информации от пользователей и доставку личных сообщений. Чтобы узнать больше о функциях обмена сообщениями, доступных для Chat API, ознакомьтесь с обзором сообщений Google Chat.
Требования
Node.js
- Аккаунт Google Workspace Business или Enterprise с доступом к Google Chat.
- Настройте среду:
- Создайте проект Google Cloud.
- Настройте окно запроса доступа OAuth.
- Включите и настройте Google Chat API, указав название, значок и описание приложения Chat.
- Установите клиентскую библиотеку Node.js Cloud.
- Создайте учетные данные для доступа в зависимости от того, как вы хотите выполнять аутентификацию в запросе Google Chat API:
- Чтобы выполнить аутентификацию от имени пользователя Chat, создайте учетные данные идентификатора клиента OAuth и сохраните их в виде JSON-файла с названием
credentials.jsonв локальном каталоге. - Чтобы выполнить аутентификацию от имени приложения Chat, создайте учетные данные сервисного аккаунта и сохраните их в JSON-файле с названием
credentials.json.
- Чтобы выполнить аутентификацию от имени пользователя Chat, создайте учетные данные идентификатора клиента OAuth и сохраните их в виде JSON-файла с названием
- Выберите область действия авторизации в зависимости от того, хотите ли вы выполнить аутентификацию в качестве пользователя или приложения Chat.
Python
- Аккаунт Google Workspace Business или Enterprise с доступом к Google Chat.
- Настройте среду:
- Создайте проект Google Cloud.
- Настройте окно запроса доступа OAuth.
- Включите и настройте Google Chat API, указав название, значок и описание приложения Chat.
- Установите клиентскую библиотеку Cloud для Python.
- Создайте учетные данные для доступа в зависимости от того, как вы хотите выполнять аутентификацию в запросе Google Chat API:
- Чтобы выполнить аутентификацию от имени пользователя Chat, создайте учетные данные идентификатора клиента OAuth и сохраните их в виде JSON-файла с названием
credentials.jsonв локальном каталоге. - Чтобы выполнить аутентификацию от имени приложения Chat, создайте учетные данные сервисного аккаунта и сохраните их в JSON-файле с названием
credentials.json.
- Чтобы выполнить аутентификацию от имени пользователя Chat, создайте учетные данные идентификатора клиента OAuth и сохраните их в виде JSON-файла с названием
- Выберите область действия авторизации в зависимости от того, хотите ли вы выполнить аутентификацию в качестве пользователя или приложения Chat.
Java
- Аккаунт Google Workspace Business или Enterprise с доступом к Google Chat.
- Настройте среду:
- Создайте проект Google Cloud.
- Настройте окно запроса доступа OAuth.
- Включите и настройте Google Chat API, указав название, значок и описание приложения Chat.
- Установите клиентскую библиотеку Cloud для Java.
- Создайте учетные данные для доступа в зависимости от того, как вы хотите выполнять аутентификацию в запросе Google Chat API:
- Чтобы выполнить аутентификацию от имени пользователя Chat, создайте учетные данные идентификатора клиента OAuth и сохраните их в виде JSON-файла с названием
credentials.jsonв локальном каталоге. - Чтобы выполнить аутентификацию от имени приложения Chat, создайте учетные данные сервисного аккаунта и сохраните их в JSON-файле с названием
credentials.json.
- Чтобы выполнить аутентификацию от имени пользователя Chat, создайте учетные данные идентификатора клиента OAuth и сохраните их в виде JSON-файла с названием
- Выберите область действия авторизации в зависимости от того, хотите ли вы выполнить аутентификацию в качестве пользователя или приложения Chat.
Apps Script
- Аккаунт Google Workspace Business или Enterprise с доступом к Google Chat.
- Настройте среду:
- Создайте проект Google Cloud.
- Настройте окно запроса доступа OAuth.
- Включите и настройте Google Chat API, указав название, значок и описание приложения Chat.
- Создайте отдельный проект Apps Script и включите расширенный сервис Chat.
- В этом руководстве вам нужно использовать аутентификацию пользователя или приложения. Чтобы выполнить аутентификацию от имени приложения Chat, создайте учетные данные сервисного аккаунта. Инструкции приведены в статье Как настроить аутентификацию и авторизацию для приложения Google Chat.
- Выберите область действия авторизации в зависимости от того, хотите ли вы выполнить аутентификацию в качестве пользователя или приложения Chat.
Как обновить сообщение от имени пользователя
При аутентификации пользователя можно изменить только текст сообщения.
Чтобы обновить сообщение с аутентификацией пользователя, передайте в запросе следующее:
- Укажите область авторизации
chat.messages. - Вызовите метод
UpdateMessage. - Передайте
messageкак экземплярMessageсо следующими параметрами:- Поле
name, в котором указано сообщение для обновления, включая идентификатор чат-группы и идентификатор сообщения. - Поле
textс новым текстом.
- Поле
- Передайте
updateMaskсо значениемtext.
Если обновленное сообщение является сообщением-карточкой, то текст добавляется перед карточками (которые продолжают отображаться).
Ниже описано, как обновить сообщение или добавить текстовое сообщение перед сообщением карточки с аутентификацией пользователя.
Node.js
Python
Java
Apps Script
Чтобы запустить этот пример, замените следующие значения:
SPACE_NAME– идентификатор изnameчат-группы. Идентификатор можно получить, вызвав методListSpaces, или из URL чат-группы.MESSAGE_NAME– идентификатор из поляnameсообщения. Идентификатор можно получить из тела ответа, возвращенного после асинхронного создания сообщения с помощью Chat API, или с помощью пользовательского имени, назначенного сообщению при создании.
Chat API возвращает экземпляр Message с подробными сведениями об обновленном сообщении.
Как обновить сообщение от имени приложения Chat
При аутентификации приложения можно обновлять и текст, и карточки сообщения.
Чтобы обновить сообщение с помощью аутентификации приложения, передайте в запросе следующее:
- Укажите область авторизации
chat.bot. - Вызовите метод
UpdateMessage. - Передайте
messageкак экземплярMessageсо следующими параметрами:- Поле
name, в котором указано сообщение для обновления, включая идентификатор чат-группы и идентификатор сообщения. - Поле
textс новым текстом, если его нужно обновить. - Поле
cardsV2с новыми картами, если их нужно обновить.
- Поле
- Передайте
updateMaskсо списком полей, которые нужно обновить, напримерtextиcardsV2.
Если обновленное сообщение является сообщением-карточкой и текст обновлен, то обновленный текст добавляется в начало карточек (которые продолжают отображаться). Если обновленное сообщение является текстовым сообщением и карточки обновлены, то обновленные карточки добавляются к тексту (который продолжает отображаться).
Чтобы обновить текст и карточки сообщения с помощью аутентификации приложения, выполните следующие действия:
Node.js
Python
Java
Apps Script
Чтобы запустить этот пример, замените следующие значения:
SPACE_NAME– идентификатор изnameчат-группы. Идентификатор можно получить, вызвав методListSpaces, или из URL чат-группы.MESSAGE_NAME– идентификатор из поляnameсообщения. Идентификатор можно получить из тела ответа, возвращенного после асинхронного создания сообщения с помощью Chat API, или с помощью пользовательского имени, назначенного сообщению при создании.
Chat API возвращает экземпляр Message с подробными сведениями об обновленном сообщении.
Асинхронное обновление карточек
Вы можете асинхронно обновлять карточки в сообщении с помощью метода replaceCards. Это полезно для обновления содержимого карточки без взаимодействия с пользователем, например для обновления предварительного просмотра ссылки или статуса задачи.
Этот метод работает для сообщений, созданных приложением, в том числе от имени пользователя.
Подробнее о том, как создавать и обновлять интерактивные карточки…