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

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

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

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

Node.js

  • आपके पास ऐसा Business या Enterprise Google Workspace खाता होना चाहिए जिसके पास Google Chat का ऐक्सेस हो.

कॉल करने वाले उपयोगकर्ता के स्पेस में मौजूद फ़ाइलों को पढ़ने की स्थिति अपडेट करना

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

  • chat.users.readstate अनुमति का स्कोप बताएं.
  • UpdateSpaceReadState() वाला तरीका कॉल करें.
  • lastReadTime वैल्यू के साथ updateMask पास करें.
  • इन चीज़ों के साथ, 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 का एक इंस्टेंस दिखाता है.