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

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

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

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

Node.js

  • कारोबारी या एंटरप्राइज़ 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);
}

await main();

इस सैंपल को चलाने के लिए, SPACE_NAME को स्पेस के name से मिले आईडी से बदलें. `ListSpaces()` तरीके को कॉल करके या स्पेस के यूआरएल से आईडी पाया जा सकता है.ListSpaces()

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