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

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

SpaceReadState kaynağı, belirli bir kullanıcının Google Chat alanındaki son okuduğu 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

Alandaki bir kullanıcının 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 değeriyle iletin.
  • spaceReadState değerini, aşağıdakilerle birlikte SpaceReadState örneği olarak iletin:
    • Güncellenecek alan okuma durumuna ayarlanmış name alanı. Bu alan, kullanıcı kimliği veya takma ad ve alan kimliği içerir. Alanın okunma durumunu güncelleme özelliği yalnızca 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 durumunun güncellendiği zamanın güncellenmiş değerine ayarlanır. Bu genellikle, son okunan mesajın zaman damgasına veya bir alandaki son okunan konumu işaretlemek için kullanıcı tarafından belirtilen bir zaman damgasına karşılık gelir. lastReadTime, en son mesajın oluşturulma zamanından önce olduğunda alan kullanıcı arayüzünde okunmamış olarak görünür. Alanı okunmuş olarak işaretlemek için lastReadTime öğesini, en son mesajın oluşturulduğu zamandan sonraki bir değere (daha büyük) ayarlayın. lastReadTime, en son ileti oluşturma zamanıyla eşleşecek şekilde zorlanacaktır. Alanın okunma durumunun yalnızca alanın üst düzey ileti dizisinde görünen mesajların okunma durumunu etkilediğini unutmayın. İleti dizilerindeki yanıtlar bu zaman damgasından etkilenmez ve ileti dizisi okuma durumuna dayanı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 edinebilirsiniz.

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