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 phương thức update() trên tài nguyên SpaceReadState của Google Chat API để đánh dấu không gian là đã đọc hoặc chưa đọc.

Tài nguyên SpaceReadState là một tài nguyên đơn lẻ, thể hiện thông tin chi tiết về tin nhắn đã đọc gần đây nhất của một người dùng cụ thể trong một không gian trên 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 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 thêm những thông tin sau vào 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 với nội dung sau:
    • Tập hợp trường name được đặt thành trạng thái đọc không gian để cập nhật, bao gồm mã nhận dạng người dùng hoặc bí danh và mã nhận dạng không gian. Thao tác cập nhật trạng thái đã đọc của 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 trạng thái 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 gọi. Ví dụ: users/USER/spaces/SPACE/spaceReadState.
    • Trường lastReadTime được đặt thành giá trị mới nhất của thời gian khi trạng thái đã đọc của không gian người dùng được cập nhật. Thông thường, thông số 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 xuất hiện trước thời gian tạo tin nhắn mới nhất, không gian sẽ xuất hiện là chưa đọc trong giao diện người dùng. Để đánh dấu không gian là đã đọc, hãy đặt lastReadTime thành bất kỳ giá trị nào sau (lớn hơn) thời gian tạo tin nhắn mới nhất. lastReadTime được ép buộc để 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 những tin nhắn xuất hiện trong cuộc trò chuyện cấp cao nhất của không gian. Thư trả lời trong chuỗi không bị ảnh hưởng bởi dấu thời gian này mà thay vào đó, dựa vào trạng thái đã đọc của chuỗi.

Ví dụ sau đây cập nhật trạng thái đã đọc của 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 của name của không gian. Bạn có thể lấy mã nhận dạng bằng cách gọi phương thức ListSpaces() hoặc từ URL của không gian.

Google Chat API cập nhật trạng thái đã đọc của không gian được chỉ định và trả về một phiên bản của SpaceReadState.