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

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

منبع SpaceReadState یک منبع تک‌لایه است که جزئیاتی درباره آخرین پیام خوانده شده یک کاربر مشخص در فضای چت گوگل را نشان می‌دهد.

پیش‌نیازها

نود جی اس

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

برای به‌روزرسانی وضعیت خواندن کاربر درون یک فاصله، موارد زیر را در درخواست خود وارد کنید:

  • دامنه مجوز chat.users.readstate را مشخص کنید.
  • متد UpdateSpaceReadState() را فراخوانی کنید.
  • مقدار lastReadTime را به updateMask ارسال کنید.
  • spaceReadState به عنوان نمونه‌ای از SpaceReadState با کد زیر ارسال کنید:
    • فیلد name روی حالت خواندن فاصله تنظیم شده تا به‌روزرسانی شود، که شامل شناسه کاربری یا نام مستعار و شناسه فاصله است. به‌روزرسانی حالت خواندن فاصله فقط از به‌روزرسانی حالت خواندن کاربر فراخوانی‌کننده پشتیبانی می‌کند، که می‌تواند با تنظیم یکی از موارد زیر مشخص شود:
      • نام مستعار me . برای مثال، users/me/spaces/ SPACE /spaceReadState .
      • آدرس ایمیل فضای کاری کاربر فراخوانی‌کننده. برای مثال، users/user@example.com/spaces/ SPACE /spaceReadState .
      • شناسه کاربری کاربر فراخواننده. برای مثال، users/ USER /spaces/ SPACE /spaceReadState .
    • فیلد lastReadTime روی مقدار به‌روزرسانی‌شده‌ی زمانی که وضعیت خواندن فضای کاربر به‌روزرسانی شده است، تنظیم می‌شود. معمولاً این مقدار با برچسب زمانی آخرین پیام خوانده‌شده یا برچسب زمانی مشخص‌شده توسط کاربر برای علامت‌گذاری آخرین موقعیت خوانده‌شده در یک فضا مطابقت دارد. وقتی lastReadTime قبل از آخرین زمان ایجاد پیام باشد، فضا در رابط کاربری به‌عنوان خوانده‌نشده نمایش داده می‌شود. برای علامت‌گذاری فضا به‌عنوان خوانده‌شده، lastReadTime را روی هر مقداری دیرتر (بزرگتر) از زمان ایجاد آخرین پیام تنظیم کنید. lastReadTime مجبور است با آخرین زمان ایجاد پیام مطابقت داشته باشد. توجه داشته باشید که وضعیت خواندن فضا فقط بر وضعیت خواندن پیام‌هایی که در مکالمه سطح بالای فضا قابل مشاهده هستند، تأثیر می‌گذارد. پاسخ‌ها در رشته‌ها تحت تأثیر این برچسب زمانی قرار نمی‌گیرند و در عوض به وضعیت خواندن رشته متکی هستند.

مثال زیر وضعیت خواندن فضای کاربر فراخواننده را به‌روزرسانی می‌کند:

نود جی اس

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 فضا به دست آورید.

API چت گوگل، وضعیت خواندن فضای مشخص شده را به‌روزرسانی می‌کند و نمونه‌ای از SpaceReadState را برمی‌گرداند.