وضعیت خواندن فضای کاربر را به روز کنید

این راهنما نحوه استفاده از متد update() را در منبع SpaceReadState در Google Chat API برای علامت گذاری فضاها به عنوان خوانده شده یا خوانده نشده توضیح می دهد.

منبع SpaceReadState یک منبع تکی است که جزئیات مربوط به آخرین پیام خوانده شده کاربر مشخص شده را در فضای چت 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 قبل از زمان ایجاد آخرین پیام باشد، فضا به صورت خوانده نشده در UI ظاهر می شود. برای علامت‌گذاری فضا به‌عنوان خوانده‌شده، 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 را برمی گرداند.