В этом руководстве объясняется, как использовать метод update() ресурса SpaceReadState API Google Chat для пометки пространств как прочитанных или непрочитанных.
Ресурс SpaceReadState — это ресурс-одиночка, представляющий подробную информацию о последнем прочитанном сообщении указанного пользователя в пространстве Google Chat.
Предварительные требования
Node.js
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Установите библиотеку Node.js Cloud Client .
- Создайте учетные данные клиента OAuth для настольного приложения. Чтобы запустить пример из этого руководства, сохраните учетные данные в виде JSON-файла с именем
credentials.jsonв локальной директории.
- Выберите область авторизации , которая поддерживает аутентификацию пользователей.
Обновить состояние чтения пространства вызывающего пользователя.
Чтобы обновить состояние чтения пользователя в пространстве, добавьте в запрос следующее:
- Укажите область авторизации
chat.users.readstate. - Вызовите метод
UpdateSpaceReadState(). - Передайте в функцию
updateMaskзначениеlastReadTime. - Передайте
spaceReadStateв виде экземпляра классаSpaceReadStateсо следующим содержимым:- Поле
nameзадается для обновления состояния чтения пространства, которое включает идентификатор пользователя или псевдоним и идентификатор пространства. Обновление состояния чтения пространства поддерживает обновление только состояния чтения вызывающего пользователя, которое можно указать, задав один из следующих параметров:- Псевдоним
me. Например,users/me/spaces/ SPACE /spaceReadState. - Адрес электронной почты пользователя, вызывающего соединение, указан в соответствующем поле Workspace. Например,
users/user@example.com/spaces/ SPACE /spaceReadState. - Идентификатор пользователя, вызывающего соединение. Например,
users/ USER /spaces/ SPACE /spaceReadState.
- Псевдоним
- Поле
lastReadTimeустанавливается в значение, соответствующее обновлению времени, когда было изменено состояние чтения в пространстве пользователя. Обычно это соответствует либо метке времени последнего прочитанного сообщения, либо метке времени, указанной пользователем для обозначения последней позиции чтения в пространстве. ЕслиlastReadTimeменьше времени создания последнего сообщения, пространство отображается как непрочитанное в пользовательском интерфейсе. Чтобы пометить пространство как прочитанное, установитеlastReadTimeна любое значение, большее, чем время создания последнего сообщения. ЗначениеlastReadTimeбудет принудительно установлено в соответствии со временем создания последнего сообщения. Обратите внимание, что состояние чтения в пространстве влияет только на состояние чтения сообщений, видимых в диалоге верхнего уровня пространства. Ответы в цепочках сообщений не зависят от этой метки времени и вместо этого полагаются на состояние чтения в цепочке сообщений.
- Поле
В следующем примере обновляется состояние чтения пространства вызывающего пользователя:
Node.js
Для запуска этого примера замените SPACE_NAME на идентификатор из name пространства. Вы можете получить идентификатор, вызвав метод ListSpaces() или из URL-адреса пространства.
API Google Chat обновляет указанное состояние чтения пространства и возвращает экземпляр объекта SpaceReadState .
Связанные темы
- Получить состояние чтения пространства вызывающего пользователя .
- Получить состояние чтения потока вызывающего пользователя .