Bir kullanıcının alan okuma durumunu güncelleme

Bu kılavuzda, Google Chat API'nin SpaceReadState kaynağında bulunan update() yönteminin, alanları okunmuş veya okunmamış olarak işaretlemek için nasıl kullanılacağı açıklanmaktadır.

SpaceReadState kaynağı, Google Chat alanında belirtilen bir kullanıcının okuduğu son mesajla ilgili ayrıntıları temsil eden tekil bir kaynaktır.

Ön koşullar

Node.js

Arayan kullanıcının alan okuma durumunu güncelleme

Bir kullanıcının bir alandaki okuma durumunu güncellemek için isteğinize aşağıdakileri ekleyin:

  • chat.users.readstate yetkilendirme kapsamını belirtin.
  • UpdateSpaceReadState() yöntemini çağırın.
  • updateMask değerini lastReadTime ile iletin.
  • Aşağıdaki bilgilerle birlikte spaceReadState öğesini SpaceReadState örneği olarak iletin:
    • Güncellenecek alanın, alan okuma durumuna ayarlanmış hali. Bu, kullanıcı kimliği veya takma ad ve alan kimliği içerir.name Yalnızca alanın okunma durumunu güncelleme, arayan kullanıcının okunma durumunu güncellemeyi destekler. Bu durum, aşağıdakilerden biri ayarlanarak belirtilebilir:
      • me takma adı. Örneğin, users/me/spaces/SPACE/spaceReadState.
      • Arayan kullanıcının Workspace e-posta adresi. Örneğin, users/user@example.com/spaces/SPACE/spaceReadState.
      • Arayan kullanıcının kullanıcı kimliği. Örneğin, users/USER/spaces/SPACE/spaceReadState.
    • lastReadTime alanı, kullanıcının alan okuma durumu güncellendiğinde geçerli olan zamanın güncellenmiş değerine ayarlanır. Bu genellikle son okunan mesajın zaman damgasına veya kullanıcının bir alanda son okunan konumu işaretlemek için belirttiği zaman damgasına karşılık gelir. lastReadTime, en son mesaj oluşturma zamanından önceyse alan, kullanıcı arayüzünde okunmamış olarak görünür. Alanı okunmuş olarak işaretlemek için lastReadTime değerini en son mesajın oluşturulma zamanından sonraki (daha büyük) bir değere ayarlayın. lastReadTime, en son ileti oluşturma zamanıyla eşleşecek şekilde zorlanır. Alan okuma durumunun yalnızca alanın üst düzey ileti dizisinde görünen mesajların okuma durumunu etkilediğini unutmayın. İleti dizilerindeki yanıtlar bu zaman damgasından etkilenmez ve bunun yerine ileti dizisinin okunma durumuna bağlıdır.

Aşağıdaki örnekte, arayan kullanıcının alan okuma durumu güncellenmektedir:

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

Bu örneği çalıştırmak için SPACE_NAME yerine alanın name kimliğini girin. Kimliği ListSpaces() yöntemini çağırarak veya alanın URL'sinden alabilirsiniz.

Google Chat API, belirtilen alanın okunma durumunu günceller ve SpaceReadState örneğini döndürür.