Обновление состояния чтения пространства пользователя

В этом руководстве объясняется, как использовать метод update() ресурса SpaceReadState API Google Chat, чтобы помечать пробелы как прочитанные или непрочитанные.

Ресурс SpaceReadState — это одноэлементный ресурс, который представляет сведения о последнем прочитанном сообщении определенного пользователя в пространстве Google Chat.

Предварительные условия

Node.js

Обновить состояние чтения пространства вызывающего пользователя

Чтобы обновить состояние чтения пользователя в спейсе, включите в свой запрос следующее:

  • Укажите область 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

чат/клиент-библиотеки/облако/обновление-пространство-чтение-государство-пользователь-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.users.readstate'];

// This sample shows how to update a space read state for the calling user
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const timestamp = new Date('2000-01-01').getTime();
  const request = {
    spaceReadState: {
      // Replace SPACE_NAME here
      name: 'users/me/spaces/SPACE_NAME/spaceReadState',
      lastReadTime: {
        seconds: Math.floor(timestamp / 1000),
        nanos: (timestamp % 1000) * 1000000
      }
    },
    updateMask: {
      // The field paths to update.
      paths: ['last_read_time']
    }
  };

  // Make the request
  const response = await chatClient.updateSpaceReadState(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

Чтобы запустить этот пример, замените SPACE_NAME идентификатором из name пространства. Вы можете получить идентификатор, вызвав метод ListSpaces() или по URL-адресу пространства.

API Google Chat обновляет указанное состояние чтения пространства и возвращает экземпляр SpaceReadState .