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

يشرح هذا الدليل كيفية استخدام طريقة 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);
}

main().catch(console.error);

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

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