Memperbarui status baca ruang pengguna

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

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

Prasyarat

Node.js

Memperbarui status baca ruang pengguna yang menelepon

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 hal berikut:
    • Kolom name ditetapkan ke status baca ruang yang akan diperbarui, yang mencakup ID pengguna atau alias dan ID ruang. Memperbarui status baca ruang hanya mendukung pembaruan status baca pengguna yang melakukan panggilan, yang dapat ditentukan dengan menyetel salah satu opsi berikut:
      • Alias me. Misalnya, users/me/spaces/SPACE/spaceReadState.
      • Alamat email Workspace pengguna yang menelepon. Misalnya, users/user@example.com/spaces/SPACE/spaceReadState.
      • ID pengguna pengguna yang menelepon. Misalnya, users/USER/spaces/SPACE/spaceReadState.
    • Kolom lastReadTime disetel ke nilai yang diperbarui saat status operasi 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 telah dibaca, tetapkan lastReadTime ke nilai apa pun nanti (lebih besar) dari waktu pembuatan pesan terbaru. lastReadTime dikonversi agar cocok dengan waktu pembuatan pesan terbaru. Perhatikan bahwa status baca ruang hanya memengaruhi status baca pesan yang terlihat di percakapan tingkat teratas ruang. Balasan dalam rangkaian pesan tidak terpengaruh oleh stempel waktu ini, dan sebagai gantinya bergantung pada status baca rangkaian pesan.

Contoh berikut memperbarui status baca ruang pengguna yang melakukan panggilan:

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 baca ruang yang ditentukan dan menampilkan instance SpaceReadState.