В этом руководстве объясняется, как использовать метод update ресурса Message API Google Chat для обновления текстового сообщения или карточки в пространстве. Обновление сообщения позволяет изменить атрибуты сообщения, например, его текст или содержимое карточки. Вы также можете добавить текстовое сообщение перед карточкой или добавить карточку к текстовому сообщению.
В API чата сообщение чата представлено ресурсом Message . Хотя пользователи чата могут отправлять только текстовые сообщения, приложения чата могут использовать множество других функций обмена сообщениями, включая отображение статических или интерактивных пользовательских интерфейсов, сбор информации от пользователей и доставку сообщений в приватном режиме. Чтобы узнать больше о функциях обмена сообщениями, доступных в API чата, см. обзор сообщений Google Chat .
Предварительные требования
Node.js
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Установите библиотеку Node.js Cloud Client .
- Создайте учетные данные доступа в зависимости от того, как вы хотите аутентифицироваться в запросе к Google Chat API:
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
credentials.jsonв локальной директории. - Для аутентификации в приложении «Чат» создайте учетные данные сервисной учетной записи и сохраните их в JSON-файле с именем
credentials.json.
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
- Выберите область авторизации в зависимости от того, хотите ли вы аутентифицироваться как пользователь или как приложение чата.
Python
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Установите библиотеку Python Cloud Client .
- Создайте учетные данные доступа в зависимости от того, как вы хотите аутентифицироваться в запросе к Google Chat API:
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
credentials.jsonв локальной директории. - Для аутентификации в приложении «Чат» создайте учетные данные сервисной учетной записи и сохраните их в JSON-файле с именем
credentials.json.
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
- Выберите область авторизации в зависимости от того, хотите ли вы аутентифицироваться как пользователь или как приложение чата.
Java
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Установите библиотеку Java Cloud Client Library .
- Создайте учетные данные доступа в зависимости от того, как вы хотите аутентифицироваться в запросе к Google Chat API:
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
credentials.jsonв локальной директории. - Для аутентификации в приложении «Чат» создайте учетные данные сервисной учетной записи и сохраните их в JSON-файле с именем
credentials.json.
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
- Выберите область авторизации в зависимости от того, хотите ли вы аутентифицироваться как пользователь или как приложение чата.
Apps Script
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Создайте автономный проект Apps Script и включите расширенную службу чата .
- В этом руководстве необходимо использовать либо аутентификацию пользователя, либо аутентификацию приложения . Для аутентификации в качестве приложения «Чат» создайте учетные данные сервисной учетной записи. Инструкции см. в разделе «Аутентификация и авторизация в качестве приложения Google 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, или из пользовательского имени , присвоенного сообщению при создании.
API чата возвращает экземпляр объекта Message , в котором подробно описывается обновляемое сообщение.
Обновить сообщение в приложении «Чат»
Благодаря аутентификации в приложении можно обновлять как текст, так и карточки сообщения.
Для обновления сообщения с использованием аутентификации приложения передайте в запросе следующее:
- Укажите область авторизации
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, или из пользовательского имени , присвоенного сообщению при создании.
API чата возвращает экземпляр объекта Message , в котором подробно описывается обновляемое сообщение.
Обновление карточек асинхронно.
В режиме предварительного просмотра для разработчиков можно асинхронно обновлять карточки в сообщении с помощью метода replaceCards . Это полезно для обновления содержимого карточки без участия пользователя, например, для обновления предварительного просмотра ссылки или изменения статуса задачи. Этот метод работает для сообщений, созданных приложением, в том числе и для сообщений, созданных от имени пользователя.
Подробности см. в разделе «Создание и обновление карточек» .
Связанные темы
- Отформатировать сообщение .
- Удалить сообщение .
- Получить подробную информацию о сообщении .
- Список сообщений в пространстве .
- Отправить сообщение .