사용자의 스페이스 읽기 상태 업데이트

이 가이드에서는 Google Chat API의 SpaceReadState 리소스에서 update() 메서드를 사용하여 스페이스를 읽음 또는 읽지 않음으로 표시하는 방법을 설명합니다.

SpaceReadState 리소스 는 Google Chat 스페이스에서 지정된 사용자의 마지막으로 읽은 메시지에 관한 세부정보를 나타내는 싱글톤 리소스입니다.

기본 요건

Node.js

호출 사용자의 스페이스 읽기 상태 업데이트

스페이스 내에서 사용자의 읽음 상태를 업데이트하려면 요청에 다음을 포함합니다.

  • chat.users.readstate 승인 범위를 지정합니다.
  • 메서드를 호출합니다.UpdateSpaceReadState()
  • lastReadTime으로 updateMask를 전달합니다.
  • 다음을 사용하여 SpaceReadState 의 인스턴스로 spaceReadState를 전달합니다.
    • 사용자 ID 또는 별칭과 스페이스 ID를 포함하여 업데이트할 스페이스 읽기 상태로 설정된 name 필드 스페이스 읽음 상태 업데이트는 호출 사용자의 읽음 상태 업데이트만 지원하며, 다음 중 하나를 설정하여 지정할 수 있습니다.
      • me 별칭 예: users/me/spaces/SPACE/spaceReadState
      • 호출 사용자의 Workspace 이메일 주소 예: users/user@example.com/spaces/SPACE/spaceReadState
      • 호출 사용자의 사용자 ID 예: users/USER/spaces/SPACE/spaceReadState
    • 사용자의 스페이스 읽기 상태가 업데이트된 시간의 업데이트된 값으로 설정된 lastReadTime 필드 일반적으로 이는 마지막으로 읽은 메시지의 타임스탬프 또는 사용자가 스페이스에서 마지막으로 읽은 위치를 표시하기 위해 지정한 타임스탬프에 해당합니다. lastReadTime이 최신 메시지 생성 시간 이전이면 스페이스가 UI에 읽지 않음으로 표시됩니다. 스페이스를 읽음으로 표시하려면 lastReadTime을 최신 메시지 생성 시간보다 늦은 (큰) 값으로 설정합니다. lastReadTime은 최신 메시지 생성 시간과 일치하도록 강제됩니다. 스페이스 읽기 상태는 스페이스의 최상위 대화에 표시되는 메시지의 읽기 상태에만 영향을 미칩니다. 스레드의 답장은 이 타임스탬프의 영향을 받지 않으며 대신 스레드 읽기 상태에 의존합니다.

다음 예시는 호출 사용자의 스페이스 읽기 상태를 업데이트합니다.

Node.js

chat/client-libraries/cloud/update-space-read-state-user-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);
}

await main();

이 샘플을 실행하려면 SPACE_NAME을 스페이스의 name 에서 가져온 ID로 바꿉니다name. `ListSpaces()` 메서드를 호출하거나 스페이스의 URL에서 ID를 가져올 수 있습니다.ListSpaces()

Google Chat API는 지정된 스페이스 읽기 상태를 업데이트하고 다음 인스턴스를 반환합니다. SpaceReadState.