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

يوضّح هذا الدليل كيفية استخدام الأسلوب 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