इस पेज पर बताया गया है कि बाहरी ट्रिगर का इस्तेमाल करके, चैट स्पेस में एसिंक्रोनस मैसेज भेजने के लिए वेबहुक कैसे सेट अप करें. उदाहरण के लिए, निगरानी करने वाले ऐप्लिकेशन को कॉन्फ़िगर किया जा सकता है, ताकि सर्वर के बंद होने पर, Chat पर ऑन-कॉल कर्मचारियों को सूचना दी जा सके. Chat ऐप्लिकेशन से सिंक्रोनस मैसेज भेजने के लिए, मैसेज भेजना सेक्शन देखें.
इस तरह के आर्किटेक्चर डिज़ाइन से उपयोगकर्ता, वेबहुक या कनेक्ट किए गए बाहरी ऐप्लिकेशन से इंटरैक्ट नहीं कर सकते. ऐसा इसलिए होता है, क्योंकि कम्यूनिकेशन एकतरफ़ा होता है. वेबहुक इस्तेमाल में आसान नहीं होते. ये उपयोगकर्ताओं या Chat ऐप्लिकेशन इंटरैक्शन इवेंट का जवाब नहीं दे सकते और न ही उनसे मैसेज पा सकते हैं. मैसेज का जवाब देने के लिए, वेबहुक के बजाय चैट ऐप्लिकेशन बनाएं.
वेबहुक, तकनीकी रूप से चैट ऐप्लिकेशन नहीं है. वेबहुक, स्टैंडर्ड एचटीटीपी अनुरोधों का इस्तेमाल करके ऐप्लिकेशन को कनेक्ट करते हैं. इस पेज को आसान बनाने के लिए, इसे चैट ऐप्लिकेशन कहा जाता है. हर वेबहुक सिर्फ़ उस चैट स्पेस में काम करता है जिसमें वह रजिस्टर होता है. इनकमिंग वेबहुक, डायरेक्ट मैसेज में काम करते हैं. हालांकि, यह सिर्फ़ तब काम करते हैं, जब सभी उपयोगकर्ताओं ने चैट ऐप्लिकेशन चालू किए हों. Google Workspace Marketplace पर, वेबहुक पब्लिश नहीं किए जा सकते.
नीचे दिया गया डायग्राम, Chat से कनेक्ट किए गए वेबहुक के आर्किटेक्चर को दिखाता है:
पिछले डायग्राम में, Chat ऐप्लिकेशन में जानकारी का यह फ़्लो मौजूद है:
- Chat ऐप्लिकेशन लॉजिक को तीसरे पक्ष की बाहरी सेवाओं से जानकारी मिलती है, जैसे कि प्रोजेक्ट मैनेजमेंट सिस्टम या टिकट बेचने वाला टूल.
- Chat ऐप्लिकेशन लॉजिक को क्लाउड या कंपनी की इमारत में होस्ट किया जाता है. इससे किसी खास चैट स्पेस में वेबहुक यूआरएल का इस्तेमाल करके मैसेज भेजे जा सकते हैं.
- उपयोगकर्ता उस चैट स्पेस में Chat ऐप्लिकेशन से मैसेज तो पा सकते हैं, लेकिन वे Chat ऐप्लिकेशन से इंटरैक्ट नहीं कर सकते.
ज़रूरी शर्तें
Python
- Google Workspace खाता, जिसमें Chat का ऐक्सेस हो. आपके Google Workspace संगठन के लिए ज़रूरी है कि वह उपयोगकर्ताओं को इनकमिंग वेबहुक जोड़ने और इस्तेमाल करने की अनुमति दे.
- Python 3.10.7 या इससे नया वर्शन होना चाहिए.
httplib2
लाइब्रेरी. अगर ज़रूरी हो, तोpip
का इस्तेमाल करके लाइब्रेरी इंस्टॉल करने के लिए, नीचे दिया गया कमांड-लाइन इंटरफ़ेस (सीएलआई) कमांड चलाएं:pip install httplib2
पहले से मौजूद कोई चैट स्पेस.
Node.js
- Google Workspace खाता, जिसमें Chat का ऐक्सेस हो. आपके Google Workspace संगठन के लिए ज़रूरी है कि वह उपयोगकर्ताओं को इनकमिंग वेबहुक जोड़ने और इस्तेमाल करने की अनुमति दे.
- Node.js और npm इंस्टॉल किए गए.
- पहले से मौजूद कोई चैट स्पेस.
Java
- Google Workspace खाता, जिसमें Chat का ऐक्सेस हो. आपका Google Workspace संगठन, उपयोगकर्ताओं को इनकमिंग वेबहुक जोड़ने और इस्तेमाल करने की अनुमति देता है.
- Java 11 या उसके बाद का वर्शन.
- Apache Maven
- पहले से मौजूद कोई चैट स्पेस.
Apps Script
- Google Workspace खाता, जिसमें Chat का ऐक्सेस हो. आपका Google Workspace संगठन, उपयोगकर्ताओं को इनकमिंग वेबहुक जोड़ने और इस्तेमाल करने की अनुमति देता है.
- पहले से मौजूद कोई चैट स्पेस.
वेबहुक बनाएं
वेबहुक बनाने के लिए, उसे उस चैट स्पेस में रजिस्टर करें जिसमें आपको मैसेज चाहिए. इसके बाद, मैसेज भेजने वाली स्क्रिप्ट लिखें.
इनकमिंग वेबहुक को रजिस्टर करें
- ब्राउज़र में, Chat खोलें. वेबहुक को Chat मोबाइल ऐप्लिकेशन से कॉन्फ़िगर नहीं किया जा सकता.
- उस स्पेस पर जाएं जहां आपको वेबहुक जोड़ना है.
- स्पेस के टाइटल के बगल में, 'ज़्यादा बड़ा करें' ऐरो पर क्लिक करें. इसके बाद, ऐप्लिकेशन और इंटिग्रेशन पर क्लिक करें.
वेबहुक जोड़ें पर क्लिक करें.
नाम फ़ील्ड में,
Quickstart Webhook
डालें.अवतार यूआरएल फ़ील्ड में,
https://developers.google.com/chat/images/chat-product-icon.png
डालें.सेव करें पर क्लिक करें.
वेबहुक यूआरएल को कॉपी करने के लिए,
ज़्यादा पर क्लिक करें. इसके बाद, लिंक कॉपी करें पर क्लिक करें.
वेबहुक स्क्रिप्ट लिखें
उदाहरण वेबहुक स्क्रिप्ट, वेबहुक यूआरएल पर POST
अनुरोध भेजकर उस स्पेस को एक मैसेज भेजती है जिसमें वेबहुक को रजिस्टर किया गया है. Chat API, Message
के इंस्टेंस के साथ जवाब देता है.
वेबहुक स्क्रिप्ट बनाने का तरीका जानने के लिए कोई भाषा चुनें:
Python
अपनी वर्किंग डायरेक्ट्री में,
quickstart.py
नाम की एक फ़ाइल बनाएं.quickstart.py
में, यह कोड चिपकाएं:url
वैरिएबल की वैल्यू को उस वेबहुक यूआरएल से बदलें जिसे आपने वेबहुक रजिस्टर करते समय कॉपी किया था.
Node.js
अपनी वर्किंग डायरेक्ट्री में,
index.js
नाम की एक फ़ाइल बनाएं.index.js
में, यह कोड चिपकाएं:url
वैरिएबल की वैल्यू को उस वेबहुक यूआरएल से बदलें जिसे आपने वेबहुक रजिस्टर करते समय कॉपी किया था.
Java
अपनी वर्किंग डायरेक्ट्री में,
pom.xml
नाम की एक फ़ाइल बनाएं.pom.xml
में, इन्हें कॉपी करें और चिपकाएं:अपनी वर्किंग डायरेक्ट्री में, यहां दिया गया डायरेक्ट्री स्ट्रक्चर
src/main/java
बनाएं.src/main/java
डायरेक्ट्री में,App.java
नाम की फ़ाइल बनाएं.App.java
में, यह कोड चिपकाएं:URL
वैरिएबल की वैल्यू को उस वेबहुक यूआरएल से बदलें जिसे आपने वेबहुक को रजिस्टर करते समय कॉपी किया था.
Apps Script
ब्राउज़र में, Apps Script पर जाएं.
नया प्रोजेक्ट पर क्लिक करें
यह कोड चिपकाएं:
url
वैरिएबल की वैल्यू को उस वेबहुक यूआरएल से बदलें जिसे आपने वेबहुक को रजिस्टर करते समय कॉपी किया था.
वेबहुक स्क्रिप्ट चलाएं
सीएलआई में, स्क्रिप्ट चलाएं:
Python
python3 quickstart.py
Node.js
node index.js
Java
mvn compile exec:java -Dexec.mainClass=App
Apps Script
- चलाएं पर क्लिक करें.
कोड चलाने पर, वेबहुक उस स्पेस पर एक मैसेज भेजता है जिसमें आपने उसे रजिस्टर किया था.
मैसेज थ्रेड शुरू करें या उसका जवाब दें
spaces.messages.thread.threadKey
को मैसेज के अनुरोध के मुख्य हिस्से के तौर पर बताएं. थ्रेड शुरू करने या किसी थ्रेड का जवाब देने के आधार पर,threadKey
के लिए इन वैल्यू का इस्तेमाल करें:अगर थ्रेड शुरू की जा रही है, तो
threadKey
को आर्बिट्रेरी स्ट्रिंग पर सेट करें. हालांकि, थ्रेड का जवाब पोस्ट करने के लिए, इस वैल्यू का ध्यान रखें.अगर किसी थ्रेड का जवाब दिया जा रहा हो, तो वह
threadKey
बताएं जिसे थ्रेड शुरू होने के समय सेट किया गया था. उदाहरण के लिए, जिस थ्रेड में शुरुआती मैसेज मेंMY-THREAD
का इस्तेमाल किया गया है उसका जवाब पोस्ट करने के लिए,MY-THREAD
सेट करें.
threadKey
न मिलने पर, थ्रेड के काम करने का तरीका तय करें:थ्रेड का जवाब दें या नई थ्रेड शुरू करें. वेबहुक यूआरएल में
messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
पैरामीटर जोड़ें. इस यूआरएल पैरामीटर को पास करने से Chat तय किए गएthreadKey
का इस्तेमाल करके, मौजूदा थ्रेड को खोजता है. अगर कोई जवाब मिलता है, तो मैसेज उस थ्रेड के जवाब के तौर पर पोस्ट किया जाता है. अगर कोई कोड नहीं मिलता है, तो मैसेज उसthreadKey
से जुड़ी नई थ्रेड शुरू करता है.थ्रेड का जवाब दें या कुछ न करें. वेबहुक यूआरएल में
messageReplyOption=REPLY_MESSAGE_OR_FAIL
पैरामीटर जोड़ें. इस यूआरएल पैरामीटर को पास करने से Chat तय किए गएthreadKey
का इस्तेमाल करके, मौजूदा थ्रेड को खोजता है. अगर कोई जवाब मिलता है, तो मैसेज उस थ्रेड के जवाब के तौर पर पोस्ट किया जाता है. अगर कुछ नहीं मिलता है, तो मैसेज नहीं भेजा जाता है.
ज़्यादा जानने के लिए,
messageReplyOption
देखें.
यह कोड सैंपल, मैसेज थ्रेड को शुरू करता है या उस पर जवाब देता है: