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

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

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

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

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.