Google Chat के इवेंट की सदस्यता लेना

इस पेज पर, Google Chat के उन इवेंट के बारे में बताया गया है जिनकी सदस्यता, Google Chat ऐप्लिकेशन, Google Workspace Events API का इस्तेमाल करके ले सकता है. आपको किस तरह के इवेंट चाहिए, यह तय करने के बाद Google Chat से इवेंट पाने के लिए, सदस्यता बनाएं.

इवेंट की सदस्यता लेने के अलावा, Chat API को कॉल करके भी इवेंट के लिए क्वेरी की जा सकती है. Chat API को कॉल करने से, समय-समय पर इवेंट वापस पाएं या ऐसे इवेंट देखें जो किसी रुकावट की वजह से, सदस्यता के दौरान छूट गए थे. Chat इवेंट पाने और उनका जवाब देने के तरीकों के बारे में जानने के लिए, Chat के दस्तावेज़ में Google Chat से इवेंट के साथ काम करना देखें.

Chat में काम करने वाले इवेंट

Google Workspace की सदस्यताओं की मदद से, आपको Chat में इन तरह के बदलावों के बारे में इवेंट मिल सकते हैं:

  • स्पेस में नए, अपडेट किए गए या मिटाए गए मैसेज.
  • किसी मैसेज पर नई या हटाई गई प्रतिक्रियाएं.
  • स्पेस में नए, अपडेट किए गए या हटाए गए सदस्यों के बारे में जानकारी.
  • उस स्पेस में होने वाले बदलाव जिसकी आपने सदस्यता ली है. जैसे, स्पेस का नाम या ब्यौरा अपडेट होना.

ऐसे रिसॉर्स जिनकी निगरानी इवेंट के लिए की जा सकती है

इवेंट पाने के लिए, आपको निगरानी करने के लिए चैट रिसॉर्स तय करना होगा. इसे सदस्यता का टारगेट रिसॉर्स कहा जाता है.

Google Workspace Events API, Chat के लिए इन टारगेट संसाधनों के साथ काम करता है:

टारगेट किया गया संसाधन फ़ॉर्मैट सीमाएं
स्पेस

//chat.googleapis.com/spaces/SPACE

यहां SPACE, Chat API space रिसॉर्स के संसाधन के नाम में मौजूद आईडी है. स्पेस का आईडी, स्पेस के यूआरएल से या spaces.list() तरीके का इस्तेमाल करके पाया जा सकता है.

सदस्यता की अनुमति देने वाले Chat उपयोगकर्ता के पास, अपने Google Workspace या Google खाते से स्पेस में शामिल होने की अनुमति होनी चाहिए.
किसी उपयोगकर्ता के लिए सभी स्पेस

//chat.googleapis.com/spaces/-

सदस्यता में सिर्फ़ उन स्पेसेज़ के इवेंट शामिल होते हैं जिनमें उपयोगकर्ता, अपने Google Workspace या Google खाते से सदस्य है.
उपयोगकर्ता

//cloudidentity.googleapis.com/users/USER

यहां USER, Chat API user रिसॉर्स के संसाधन के नाम में मौजूद आईडी है. ज़्यादा जानकारी के लिए, Google Chat के उपयोगकर्ताओं की पहचान करना और उनके बारे में जानकारी देना देखें.

सदस्यता को सिर्फ़ उस उपयोगकर्ता के इवेंट मिलते हैं जिसने सदस्यता के लिए अनुमति दी है. कोई उपयोगकर्ता, अन्य उपयोगकर्ताओं की ओर से सदस्यता लेने की अनुमति नहीं दे सकता.

सदस्यताएं बनाने के लिए इवेंट टाइप

सदस्यता बनाते समय, eventTypes[] फ़ील्ड का इस्तेमाल करके यह बताया जाता है कि आपको किस तरह के इवेंट चाहिए. इवेंट टाइप को google.workspace.APPLICATION.RESOURCE.VERSION.ACTION जैसे CloudEvents स्पेसिफ़िकेशन के हिसाब से फ़ॉर्मैट किया जाता है.

उदाहरण के लिए, Chat स्पेस में शामिल होने वाले उपयोगकर्ताओं के बारे में इवेंट पाने के लिए, स्पेस को टारगेट किए गए संसाधन के तौर पर और इवेंट टाइप को google.workspace.chat.membership.v1.created के तौर पर सेट करें. किसी स्पेस में शामिल होने वाले किसी उपयोगकर्ता के बारे में इवेंट पाने के लिए, उपयोगकर्ता को टारगेट किए गए रिसॉर्स के तौर पर और इवेंट टाइप को google.workspace.chat.membership.v1.created के तौर पर सेट करें. इवेंट के काम करने के तरीके के बारे में ज़्यादा जानने के लिए, Google Workspace इवेंट का स्ट्रक्चर लेख पढ़ें.

इस टेबल में दिखाया गया है कि स्पेस की सदस्यताओं और उपयोगकर्ताओं की सदस्यताओं के लिए, किस तरह के इवेंट ट्रिगर किए जा सकते हैं. इवेंट ट्रिगर करने के बारे में अपवादों के बारे में जानने के लिए, सीमाएं देखें.

इवेंट का टाइप फ़ॉर्मैट संसाधन का डेटा
स्पेस की सदस्यताएं  
कोई मैसेज पोस्ट किया गया हो.

google.workspace.chat.message.v1.created

space.message

मैसेज अपडेट हो जाता है.

google.workspace.chat.message.v1.updated

space.message

मैसेज मिटाया जाता है.

google.workspace.chat.message.v1.deleted

space.message

प्रतिक्रिया बनाई जाती है.

google.workspace.chat.reaction.v1.created

space.message.reaction

प्रतिक्रिया मिटाई जाती है.

google.workspace.chat.reaction.v1.deleted

space.message.reaction

स्पेस में किसी सदस्य को जोड़ा जाता है.

google.workspace.chat.membership.v1.created

space.membership

स्पेस में किसी सदस्य की जानकारी अपडेट की गई है.

google.workspace.chat.membership.v1.updated

space.membership

किसी सदस्य को स्पेस से हटा दिया जाता है.

google.workspace.chat.membership.v1.deleted

space.membership

स्पेस अपडेट हो गया है.

google.workspace.chat.space.v1.updated

space

स्पेस मिट जाता है.

google.workspace.chat.space.v1.deleted

space

उपयोगकर्ताओं की सदस्यताएं  
उपयोगकर्ता, स्पेस का सदस्य बन जाता है.

सभी नए सदस्य इवेंट ट्रिगर नहीं करते. ज़्यादा जानकारी के लिए, सीमाएं देखें

google.workspace.chat.membership.v1.created

space.membership

उपयोगकर्ता की स्पेस की सदस्यता अपडेट हो जाती है.

google.workspace.chat.membership.v1.updated

space.membership

उपयोगकर्ता को स्पेस के डायरेक्ट सदस्य के तौर पर हटा दिया जाता है.

google.workspace.chat.membership.v1.deleted

space.membership

बैच इवेंट टाइप (सिर्फ़ आउटपुट)

जिन इवेंट टाइप की सदस्यता ली जाती है उन्हें पाने के अलावा, आपके Chat ऐप्लिकेशन को एक साथ कई इवेंट भी मिल सकते हैं. बैच इवेंट, एक ही तरह के कई इवेंट होते हैं जो कम समय में होते हैं. किसी बैच इवेंट के पेलोड में, बदले गए सभी संसाधनों की सूची होती है.

उदाहरण के लिए, अगर कोई उपयोगकर्ता एक ही समय पर किसी स्पेस में 20 उपयोगकर्ताओं को जोड़ता है, तो आपके Chat ऐप्लिकेशन को एक साथ कई इवेंट (google.workspace.chat.membership.v1.batchCreated) मिल सकते हैं. इवेंट पेलोड में, उन सभी नए Membership संसाधनों की सूची होती है जिन्हें उपयोगकर्ता ने स्पेस में सदस्यों को जोड़ते समय बनाया था.

आपको किसी भी तरह के इवेंट की सदस्यता लेने पर, एक बैच इवेंट मिलता है. इसलिए, सदस्यता बनाते समय आपको बैच इवेंट की जानकारी देने की ज़रूरत नहीं होती. उदाहरण के लिए, अगर आपने प्रतिक्रियाओं के नए इमोजी (google.workspace.chat.reaction.v1.created) की सदस्यता ली है, तो आपका Chat ऐप्लिकेशन अपने-आप कॉन्फ़िगर हो जाता है, ताकि प्रतिक्रियाओं के एक साथ कई इवेंट (google.workspace.chat.reaction.v1.batchCreated) मिल सकें.

इस टेबल में, किसी सदस्यता के लिए संभावित बैच इवेंट दिखाए गए हैं:

बैच इवेंट टाइप फ़ॉर्मैट
एक से ज़्यादा मैसेज पोस्ट किए जाते हैं.

google.workspace.chat.message.v1.batchCreated

एक से ज़्यादा मैसेज अपडेट किए जाते हैं.

google.workspace.chat.message.v1.batchUpdated

एक से ज़्यादा मैसेज मिटाए जाते हैं.

google.workspace.chat.message.v1.batchDeleted

एक से ज़्यादा प्रतिक्रियाएं बनाई गई हों.

google.workspace.chat.reaction.v1.batchCreated

एक से ज़्यादा प्रतिक्रियाएं मिटाई जाती हैं.

google.workspace.chat.reaction.v1.batchDeleted

सदस्यता वाले स्पेस में कई सदस्य जोड़े गए हैं या सदस्यता वाले उपयोगकर्ता को कई स्पेस में जोड़ा गया है.

google.workspace.chat.membership.v1.batchCreated

सदस्यता वाले स्पेस या सदस्यता वाले उपयोगकर्ता के लिए, एक से ज़्यादा सदस्यताएं अपडेट की जाती हैं.

google.workspace.chat.membership.v1.batchUpdated

सदस्यता वाले स्पेस से कई सदस्यों को हटा दिया गया हो या सदस्यता वाले उपयोगकर्ता को कई स्पेस से हटा दिया गया हो.

google.workspace.chat.membership.v1.batchDeleted

स्पेस में कई अपडेट हैं.

google.workspace.chat.space.v1.batchUpdated

इवेंट का डेटा

इस सेक्शन में, Chat में इवेंट के लिए इवेंट डेटा और पेलोड के उदाहरण के बारे में बताया गया है.

जब आपकी Google Workspace सदस्यता को Chat से कोई इवेंट मिलता है, तो data फ़ील्ड में इवेंट का पेलोड होता है. इस पेलोड में, बदले गए Google Workspace संसाधन के बारे में जानकारी होती है. उदाहरण के लिए, अगर आपने किसी स्पेस में पैसे चुकाकर ली जाने वाली सदस्यता के इवेंट की सदस्यता ली है, तो इन इवेंट के पेलोड में बदले गए spaces.membership रिसॉर्स की जानकारी होती है.

इवेंट पेलोड में रिसॉर्स डेटा

सदस्यता बनाते समय, यह तय किया जा सकता है कि आपको पेलोड में संसाधन की जानकारी शामिल करनी है या सिर्फ़ संसाधन का नाम. उदाहरण के लिए, अगर आपको चैट स्पेस में सदस्यों के बारे में इवेंट चाहिए, तो आपके पास यह तय करने का विकल्प होता है कि आपको इवेंट पेलोड में, पैसे चुकाकर ली जाने वाली सदस्यता के संसाधन के कौनसे फ़ील्ड चाहिए.

नीचे दी गई टेबल में, चैट स्पेस spaces/AAAABBBBBB की सदस्यता के लिए JSON पेलोड के उदाहरण दिए गए हैं. सदस्यता को मिलने वाले हर इवेंट के लिए, इवेंट के data फ़ील्ड में पेलोड दिखता है:

उदाहरण इवेंट का टाइप JSON पेलोड

कोई उपयोगकर्ता स्पेस में "नमस्ते" मैसेज पोस्ट करता है.

google.workspace.chat.message.v1.created

इसमें संसाधन का डेटा शामिल होता है
{
    "message":
    {
        "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD",
        "sender":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "createTime": "2023-09-07T21:37:36.260127Z",
        "text": "Hello world",
        "thread":
        {
            "name": "spaces/AAAABBBBBB/threads/EEEEEEEEEEEE"
        },
        "space":
        {
            "name": "spaces/AAAABBBBBB"
        },
        "argumentText": "Hello world"
    }
}
      
इसमें संसाधन का डेटा शामिल नहीं होता
{
    "message":
    {
        "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD"
    }
}
      
कोई उपयोगकर्ता स्पेस मैनेजर बन जाता है.

google.workspace.chat.membership.v1.updated

इसमें संसाधन का डेटा शामिल होता है
{
    "membership":
    {
        "name": "spaces/AAAABBBBBB/members/1234567890987654321",
        "state": "JOINED",
        "member":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "createTime": "1970-01-01T00:00:00Z",
        "role": "ROLE_MANAGER"
    }
}
      
इसमें संसाधन का डेटा शामिल नहीं होता
{
    "membership":
    {
        "name": "spaces/AAAABBBBBB/members/1234567890987654321"
    }
}
      
कोई उपयोगकर्ता, स्पेस के ब्यौरे को "Cymbal Labs की सेल्स टीम" में अपडेट करता है. google.workspace.chat.space.v1.updated
इसमें संसाधन का डेटा शामिल होता है
{
    "space":
    {
        "name": "spaces/AAAABBBBBB",
        "displayName": "Cymbal Sales",
        "spaceThreadingState": "THREADED_MESSAGES",
        "spaceType": "SPACE",
        "spaceDetails":
        {
            "description": "Sales team for Cymbal Labs."
        },
        "spaceHistoryState": "HISTORY_ON"
    }
}
      
इसमें संसाधन का डेटा शामिल नहीं होता
{
    "space":
    {
        "name": "spaces/AAAABBBBBB"
    }
}
      
Chat के दो उपयोगकर्ताओं को एक ही समय पर स्पेस में जोड़ा गया था. google.workspace.chat.membership.v1.batchCreated
इसमें संसाधन का डेटा शामिल होता है
{
    "memberships": [
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/1234567890987654321",
            "state": "JOINED",
            "member":
            {
                "name": "users/1234567890987654321",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        },
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/987654321234567890",
            "state": "JOINED",
            "member":
            {
                "name": "users/987654321234567890",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        }
    ]
}
      
इसमें संसाधन का डेटा शामिल नहीं होता
{
    "memberships": [
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/1234567890987654321"
          }
        },
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/98765432123456789019"
          }
        }
    ]
}
      
कोई उपयोगकर्ता, 😊 इमोजी का इस्तेमाल करके मैसेज पर प्रतिक्रिया देता है. google.workspace.chat.reaction.v1.created
इसमें संसाधन का डेटा शामिल होता है
{
    "reaction":
    {
        "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222",
        "user":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "emoji":
        {
            "unicode": "😊"
        }
    }
}
      
संसाधन का डेटा शामिल नहीं करता
{
    "reaction":
    {
        "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222"
    }
}
      
उपयोगकर्ता, मैसेज पर 😊 इमोजी और 😸 इमोजी से प्रतिक्रिया देते हैं. google.workspace.chat.reaction.v1.batchCreated
इसमें संसाधन का डेटा शामिल होता है
{
    "reactions": [
        {
          "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222",
            "user":
            {
                "name": "users/1234567890987654321",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😊"
            }
          }
        },
        {
          "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444",
            "user":
            {
                "name": "users/98765431234564321",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😸"
            }
          }
        }
    ]
}
      
संसाधन का डेटा शामिल नहीं करता
{
    "reactions": [
      {
        "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222"
        },
        "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444",
        }
      }
    ]
}
      

सीमाएं

  • उपयोगकर्ताओं की सदस्यताओं के लिए, डायरेक्ट मैसेज या बिना नाम वाली ग्रुप चैट (google.workspace.chat.membership.v1.created) में नए सदस्यों के बारे में इवेंट, सिर्फ़ पहला मैसेज पोस्ट होने के बाद ट्रिगर होते हैं.
  • सदस्यता से जुड़े इवेंट पाने के लिए, यह ज़रूरी है कि उपयोगकर्ता स्पेस का सीधा सदस्य हो. अगर किसी उपयोगकर्ता को किसी Google ग्रुप के ज़रिए स्पेस में जोड़ा, अपडेट या हटाया गया है, तो सदस्यता के उन इवेंट की सूचना सदस्यता को नहीं मिलेगी. Google ग्रुप की सदस्यताएं कैसे काम करती हैं, यह समझने के लिए, स्पेस में Google ग्रुप जोड़ना लेख पढ़ें.