Cập nhật trạng thái đọc không gian của người dùng

Hướng dẫn này giải thích cách sử dụng update() phương thức trên tài nguyên SpaceReadState của API Google Chat để đánh dấu không gian là đã đọc hoặc chưa đọc.

Chiến lược phát hành đĩa đơn Tài nguyên SpaceReadState là một tài nguyên singleton biểu thị thông tin chi tiết về một tin nhắn đọc gần đây nhất của người dùng mà bạn chỉ định trong phòng Google Chat.

Điều kiện tiên quyết

Node.js

Cập nhật trạng thái đọc không gian của người dùng thực hiện lệnh gọi

Để cập nhật trạng thái đọc của người dùng trong một không gian, hãy đưa nội dung sau vào trong yêu cầu của bạn:

  • Chỉ định phạm vi uỷ quyền chat.users.readstate.
  • Gọi phương thức UpdateSpaceReadState().
  • Truyền updateMask với giá trị lastReadTime.
  • Truyền spaceReadState dưới dạng một thực thể của SpaceReadState bằng cách sau:
    • Trường name được đặt thành trạng thái đọc không gian để cập nhật, trong đó có mã nhận dạng người dùng hoặc email đại diện và mã không gian. Việc cập nhật trạng thái đọc không gian chỉ hỗ trợ cập nhật trạng thái đọc của người dùng gọi. Bạn có thể chỉ định trạng thái này bằng cách đặt một trong những giá trị sau:
      • Bí danh me. Ví dụ: users/me/spaces/SPACE/spaceReadState.
      • Địa chỉ email Workspace của người dùng gọi. Ví dụ: users/user@example.com/spaces/SPACE/spaceReadState.
      • Mã nhận dạng người dùng của người dùng thực hiện lệnh gọi. Ví dụ: users/USER/spaces/SPACE/spaceReadState.
    • Trường lastReadTime được đặt thành giá trị đã cập nhật của thời điểm khi trạng thái đọc không gian của người dùng đã được cập nhật. Thông thường, giá trị này tương ứng với dấu thời gian của tin nhắn đọc gần đây nhất hoặc dấu thời gian do người dùng chỉ định để đánh dấu vị trí đọc gần đây nhất trong một không gian. Khi lastReadTime nằm trước thời gian tạo thông báo gần đây nhất, thì không gian sẽ xuất hiện dưới dạng chưa đọc trong giao diện người dùng. Để đánh dấu khoảng trống dưới dạng đã đọc, hãy đặt lastReadTime thành bất kỳ giá trị nào sau đó (lớn hơn) so với thời gian tạo tin nhắn mới nhất. lastReadTime được buộc phải khớp với thời gian tạo thông báo mới nhất. Xin lưu ý rằng trạng thái đã đọc của không gian chỉ ảnh hưởng đến trạng thái đã đọc của các tin nhắn xuất hiện trong cuộc trò chuyện cấp cao nhất của không gian. Phản hồi trong chuỗi tin nhắn không chịu ảnh hưởng của dấu thời gian này. Thay vào đó, hãy dựa vào trạng thái đọc chuỗi.

Ví dụ sau đây cập nhật trạng thái đọc không gian của người dùng gọi:

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);
}

main().catch(console.error);

Để chạy mẫu này, hãy thay thế SPACE_NAME bằng mã nhận dạng trong của không gian name. Bạn có thể lấy ID bằng cách gọi hàm ListSpaces() hoặc từ URL của không gian.

API Google Chat sẽ cập nhật trạng thái đọc không gian đã chỉ định và trả về một thực thể của SpaceReadState.