Memperbarui status baca ruang pengguna

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

Tujuan Referensi SpaceReadState adalah resource singleton yang mewakili detail tentang pesan yang terakhir 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 baris berikut di 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 pemanggil, yang dapat ditentukan dengan menetapkan salah satu dari 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 pembacaan ruang pengguna telah diperbarui. Biasanya ini berkaitan dengan stempel waktu pesan terakhir dibaca, atau stempel waktu yang ditentukan oleh pengguna untuk menandai posisi terakhir dibaca dalam ruang. Jika lastReadTime lebih awal 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. Perlu diperhatikan bahwa status operasi baca ruang hanya memengaruhi operasi baca status pesan yang terlihat dalam 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 menelepon:

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.