이 가이드에서는 Google Chat API의 SpaceReadState
리소스에서 update()
메서드를 사용하여 스페이스를 읽은 상태 또는 읽지 않은 상태로 표시하는 방법을 설명합니다.
SpaceReadState
리소스는 Google Chat 스페이스에서 지정된 사용자가 마지막으로 읽은 메시지에 관한 세부정보를 나타내는 싱글톤 리소스입니다.
기본 요건
Node.js
- Google Chat에 액세스할 수 있는 비즈니스 또는 엔터프라이즈 Google Workspace 계정
- 환경을 설정합니다.
- Google Cloud 프로젝트를 만듭니다.
- OAuth 동의 화면 구성
- Chat 앱의 이름, 아이콘, 설명을 사용하여 Google Chat API를 사용 설정하고 구성합니다.
- Node.js Cloud 클라이언트 라이브러리를 설치합니다.
- 데스크톱 애플리케이션의
OAuth 클라이언트 ID 사용자 인증 정보 만들기 이 가이드에서 샘플을 실행하려면 사용자 인증 정보를
client_secrets.json
라는 JSON 파일로 로컬 디렉터리에 저장합니다.
- 사용자 인증을 지원하는 승인 범위를 선택합니다.
호출 사용자의 스페이스 읽기 상태 업데이트
스페이스 내에서 사용자의 읽기 상태를 업데이트하려면 요청에 다음을 포함합니다.
chat.users.readstate
승인 범위를 지정합니다.UpdateSpaceReadState()
메서드를 호출합니다.updateMask
을lastReadTime
값과 함께 전달합니다.- 다음과 함께
spaceReadState
를SpaceReadState
의 인스턴스로 전달합니다.- 업데이트할 공간 읽기 상태로 설정된
name
필드로, 사용자 ID 또는 별칭과 공간 ID가 포함됩니다. 스페이스 읽기 상태 업데이트는 호출 사용자의 읽기 상태 업데이트만 지원하며, 이는 다음 중 하나를 설정하여 지정할 수 있습니다.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
이 샘플을 실행하려면 SPACE_NAME
를 스페이스의 name
에 있는 ID로 바꿉니다.
ListSpaces()
메서드를 호출하거나 스페이스의 URL에서 ID를 가져올 수 있습니다.
Google Chat API는 지정된 스페이스 읽기 상태를 업데이트하고 SpaceReadState
인스턴스를 반환합니다.