تعديل حالة قراءة مساحة المستخدم

يشرح هذا الدليل كيفية استخدام طريقة update() في مورد SpaceReadState ضمن Google Chat API لوضع علامة "مقروء" أو "غير مقروء" على المساحات.

SpaceReadStateالمورد هو مورد فردي يمثّل تفاصيل حول آخر رسالة قرأها مستخدم محدّد في مساحة Google Chat.

المتطلبات الأساسية

Node.js

تعديل حالة قراءة المساحة للمستخدم الذي يجري المكالمة

لتعديل حالة القراءة الخاصة بمستخدم في مساحة، أدرِج ما يلي في طلبك:

  • حدِّد chat.users.readstate نطاق التفويض.
  • استدعِ طريقة UpdateSpaceReadState().
  • مرِّر updateMask بالقيمة lastReadTime.
  • مرِّر spaceReadState كمثيل من SpaceReadState مع ما يلي:
    • يتم ضبط حقل name على حالة القراءة للمساحة المطلوب تعديلها، والتي تتضمّن معرّف مستخدم أو اسمًا مستعارًا ومعرّف مساحة. لا يتيح تعديل حالة القراءة في المساحة سوى تعديل حالة القراءة للمستخدم الذي يجري المكالمة، ويمكن تحديد ذلك من خلال ضبط أحد الخيارات التالية:
      • الاسم المستعار me على سبيل المثال، users/me/spaces/SPACE/spaceReadState.
      • عنوان البريد الإلكتروني في Workspace للمستخدم الذي يجري المكالمة على سبيل المثال، users/user@example.com/spaces/SPACE/spaceReadState.
      • رقم تعريف المستخدم الذي يجري المكالمة على سبيل المثال، users/USER/spaces/SPACE/spaceReadState.
    • يتم ضبط الحقل lastReadTime على القيمة المعدَّلة للوقت الذي تم فيه تعديل حالة القراءة الخاصة بمساحة المستخدم. عادةً ما يتطابق هذا مع الطابع الزمني لآخر رسالة تمت قراءتها، أو طابع زمني يحدّده المستخدم لتحديد آخر موضع تمت قراءته في مساحة. عندما يكون lastReadTime قبل وقت إنشاء أحدث رسالة، تظهر المساحة كرسالة غير مقروءة في واجهة المستخدم. لوضع علامة "مقروءة" على المساحة، اضبط قيمة lastReadTime على أي قيمة لاحقة (أكبر) من وقت إنشاء آخر رسالة. يتم فرض قيمة lastReadTime لتتطابق مع أحدث وقت لإنشاء الرسالة. يُرجى العِلم أنّ حالة القراءة في المساحة تؤثر فقط في حالة القراءة للرسائل المرئية في المحادثة ذات المستوى الأعلى في المساحة. لا يتأثر الردّ في سلاسل المحادثات بهذا الطابع الزمني، بل يعتمد على حالة قراءة سلسلة المحادثات.

يعدّل المثال التالي حالة قراءة المساحة للمستخدم الذي يجري المكالمة:

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

await main();

لتشغيل هذا النموذج، استبدِل SPACE_NAME برقم التعريف من مساحة name. يمكنك الحصول على المعرّف من خلال استدعاء الطريقة ListSpaces() أو من عنوان URL الخاص بالمساحة.

تعدّل Google Chat API حالة القراءة المحدّدة للمساحة وتعرض نسخة من SpaceReadState.