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

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

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

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

Node.js

  • आपके पास Google Chat का ऐक्सेस हो और आपके पास Google Workspace का Business या Enterprise वर्शन वाला खाता हो.

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

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

  • 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 का एक इंस्टेंस दिखाता है.