Memperbarui status baca ruang pengguna

Panduan ini menjelaskan cara menggunakan metode update() pada resource SpaceReadState Google Chat API untuk menandai ruang sebagai sudah dibaca atau belum dibaca.

Resource SpaceReadState adalah resource singleton yang menampilkan detail tentang pesan terakhir yang dibaca pengguna tertentu di ruang Google Chat.

Prasyarat

Node.js

Memperbarui status baca ruang pengguna yang memanggil

Untuk memperbarui status baca pengguna dalam ruang, sertakan hal berikut dalam permintaan Anda:

  • Tentukan cakupan otorisasi chat.users.readstate.
  • Panggil metode UpdateSpaceReadState().
  • Teruskan updateMask dengan nilai lastReadTime.
  • Teruskan spaceReadState sebagai instance SpaceReadState dengan:
    • Kolom name ditetapkan ke status baca ruang untuk diperbarui, yang mencakup ID atau alias pengguna dan ID ruang. Memperbarui status baca ruang hanya mendukung pembaruan status baca pengguna yang memanggil, yang dapat ditentukan dengan menetapkan salah satu dari berikut:
      • Alias me. Misalnya, users/me/spaces/SPACE/spaceReadState.
      • Alamat email Workspace pengguna yang memanggil. Misalnya, users/[email protected]/spaces/SPACE/spaceReadState.
      • ID pengguna pemanggil. Misalnya, users/USER/spaces/SPACE/spaceReadState.
    • Kolom lastReadTime ditetapkan ke nilai waktu yang diperbarui saat status baca ruang pengguna diperbarui. Biasanya, ini sesuai dengan stempel waktu pesan terakhir yang dibaca, atau stempel waktu yang ditentukan oleh pengguna untuk menandai posisi terakhir yang dibaca dalam ruang. Jika lastReadTime sebelum waktu pembuatan pesan terbaru, ruang akan muncul sebagai belum dibaca di UI. Untuk menandai ruang sebagai sudah dibaca, setel lastReadTime ke nilai apa pun yang lebih baru (lebih besar) daripada waktu pembuatan pesan terbaru. lastReadTime dipaksa agar cocok dengan waktu pembuatan pesan terbaru. Perhatikan bahwa status sudah dibaca di ruang hanya memengaruhi status sudah dibaca pesan yang terlihat dalam percakapan tingkat teratas ruang. Balasan dalam rangkaian pesan tidak terpengaruh oleh stempel waktu ini, dan bergantung pada status baca rangkaian pesan.

Contoh berikut memperbarui status baca ruang pengguna yang memanggil:

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

Untuk menjalankan contoh ini, ganti SPACE_NAME dengan ID dari name ruang. Anda bisa mendapatkan ID dengan memanggil metode ListSpaces() atau dari URL ruang.

Google Chat API memperbarui status sudah dibaca ruang yang ditentukan dan menampilkan instance SpaceReadState.