इस पेज में बताया गया है कि बाहरी ट्रिगर का इस्तेमाल करके, चैट स्पेस में एसिंक्रोनस मैसेज भेजने के लिए वेबहुक कैसे सेट अप करें. उदाहरण के लिए, सर्वर बंद होने पर, कॉल पर काम करने वाले लोगों को Chat पर सूचना देने के लिए, मॉनिटरिंग ऐप्लिकेशन को कॉन्फ़िगर किया जा सकता है. Chat ऐप्लिकेशन से सिंक करने वाला मैसेज भेजने के लिए, मैसेज भेजें लेख पढ़ें.
इस तरह के आर्किटेक्चर डिज़ाइन में, उपयोगकर्ता वेबहुक या कनेक्ट किए गए बाहरी ऐप्लिकेशन से इंटरैक्ट नहीं कर सकते. इसकी वजह यह है कि बातचीत एकतरफ़ा होती है. वेबहुक में बातचीत नहीं की जा सकती. वे न तो उपयोगकर्ताओं या Chat ऐप्लिकेशन के साथ हुए इंटरैक्शन से जुड़े इवेंट का जवाब दे सकते हैं और न ही उनके मैसेज पा सकते हैं. मैसेज का जवाब देने के लिए, वेबहुक के बजाय Chat ऐप्लिकेशन बनाएं.
वेबहुक, तकनीकी रूप से चैट ऐप्लिकेशन नहीं है. वेबहुक, स्टैंडर्ड एचटीटीपी अनुरोधों का इस्तेमाल करके ऐप्लिकेशन को कनेक्ट करते हैं. वेबहुक को आसान बनाने के लिए, इसे चैट ऐप्लिकेशन कहा गया है. हर वेबहुक सिर्फ़ उस चैट स्पेस में काम करता है जिसमें उसे रजिस्टर किया गया है. इनकमिंग वेबहुक, डायरेक्ट मैसेज में काम करते हैं. यह सिर्फ़ तब काम करता है, जब सभी उपयोगकर्ताओं ने चैट ऐप्लिकेशन चालू किए हों. Google Workspace Marketplace में वेबहुक पब्लिश नहीं किए जा सकते.
नीचे दिया गया डायग्राम, 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
देखें.
नीचे दिया गया कोड सैंपल, किसी मैसेज थ्रेड को शुरू करता है या उस पर जवाब देता है: