उपयोगकर्ता की स्पेस में पढ़ने की स्थिति अपडेट करें

इस गाइड में बताया गया है कि Google Chat API के SpaceReadState संसाधन पर update() तरीके का इस्तेमाल करके, स्पेस को पढ़ा गया या नहीं पढ़ा गया के तौर पर कैसे मार्क करें.

SpaceReadState संसाधन एक सिंगलटन संसाधन है. यह Google Chat स्पेस में, किसी उपयोगकर्ता के पढ़े गए आखिरी मैसेज की जानकारी दिखाता है.

ज़रूरी शर्तें

Node.js

  • आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.

कॉल करने वाले व्यक्ति के स्पेस को पढ़ने की स्थिति अपडेट करता है

किसी स्पेस में उपयोगकर्ता की पढ़ी गई स्थिति को अपडेट करने के लिए, अपने अनुरोध में यह जानकारी शामिल करें:

  • 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() तरीके का इस्तेमाल करें या स्पेस के यूआरएल से आईडी पाएं.

Google Chat API, स्पेस की पढ़ी गई स्थिति को अपडेट करता है और SpaceReadState का इंस्टेंस दिखाता है.