वेबहुक के तौर पर Google Chat ऐप्लिकेशन बनाना (original) (raw)

सीधे मुख्य कॉन्टेंट पर जाएं

इस पेज पर, Chat स्पेस में एसिंक्रोनस मैसेज भेजने के लिए, बाहरी ट्रिगर का इस्तेमाल करके वेबहुक सेट अप करने का तरीका बताया गया है. उदाहरण के लिए, सर्वर डाउन होने पर, ऑन-कॉल स्टाफ़ को Chat पर सूचना देने के लिए, मॉनिटरिंग ऐप्लिकेशन को कॉन्फ़िगर किया जा सकता है. Chat ऐप्लिकेशन से सिंक्रोनस मैसेज भेजने के लिए, मैसेज भेजना देखें.

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

वेबहुक, तकनीकी तौर पर Chat ऐप्लिकेशन नहीं है. वेबहुक, स्टैंडर्ड एचटीटीपी अनुरोधों का इस्तेमाल करके ऐप्लिकेशन को कनेक्ट करते हैं. हालांकि, इस पेज पर इसे Chat ऐप्लिकेशन के तौर पर बताया गया है, ताकि इसे आसानी से समझा जा सके. हर वेबहुक, सिर्फ़ उस Chat स्पेस में काम करता है जिसमें उसे रजिस्टर किया गया है. इनकमिंग वेबहुक, डायरेक्ट मैसेज में काम करते हैं. हालांकि, ऐसा तब ही होता है, जब सभी उपयोगकर्ताओं नेChat ऐप्लिकेशन चालू किए हों. वेबहुक को Google Workspace Marketplace पर पब्लिश नहीं किया जा सकता.

नीचे दिए गए डायग्राम में, Chat से कनेक्ट किए गए वेबहुक का आर्किटेक्चर दिखाया गया है:

Chat पर एसिंक्रोनस मैसेज भेजने के लिए, इनकमिंग वेबहुक का आर्किटेक्चर.

ऊपर दिए गए डायग्राम में, Chat ऐप्लिकेशन में जानकारी का फ़्लो इस तरह होता है:

  1. Chat ऐप्लिकेशन की लॉजिक, तीसरे पक्ष की बाहरी सेवाओं से जानकारी लेता है. जैसे, प्रोजेक्ट मैनेजमेंट सिस्टम या टिकट टूल.
  2. Chat ऐप्लिकेशन की लॉजिक, क्लाउड या ऑन-प्रिमाइसेस सिस्टम में होस्ट की जाती है. यह सिस्टम, किसी खास Chat स्पेस में वेबहुक यूआरएल का इस्तेमाल करके मैसेज भेज सकता है.
  3. उपयोगकर्ता, उस खास Chat स्पेस में Chat ऐप्लिकेशन से मैसेज पा सकते हैं. हालांकि, वे Chat ऐप्लिकेशन के साथ इंटरैक्ट नहीं कर सकते.

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

Node.js

Python

pip install httplib2  

Java

Apps Script

वेबहुक बनाना

वेबहुक बनाने के लिए, उसे उस Chat स्पेस में रजिस्टर करें जहां आपको मैसेज पाने हैं. इसके बाद, मैसेज भेजने वाली स्क्रिप्ट लिखें.

इनकमिंग वेबहुक रजिस्टर करना

  1. किसी ब्राउज़र में, Chat खोलें. Chat के मोबाइल ऐप्लिकेशन से, वेबहुक कॉन्फ़िगर नहीं किए जा सकते.
  2. उस स्पेस पर जाएं जहां आपको वेबहुक जोड़ना है.
  3. स्पेस के टाइटल के बगल में, ज़्यादा दिखाएं तीर पर क्लिक करें. इसके बाद, ऐप्लिकेशन और इंटिग्रेशन पर क्लिक करें.
  4. वेबहुक जोड़ें पर क्लिक करें.
  5. नाम फ़ील्ड में, Quickstart Webhook डालें.
  6. अवतार यूआरएल फ़ील्ड में, https://developers.google.com/chat/images/chat-product-icon.png डालें.
  7. सेव करें पर क्लिक करें.
  8. वेबहुक का यूआरएल कॉपी करने के लिए, ज़्यादा पर क्लिक करें. इसके बाद, लिंक कॉपी करें पर क्लिक करें.
    वेबहुक के यूआरएल में दो पैरामीटर होते हैं: key. यह वेबहुक के बीच शेयर की जाने वाली एक सामान्य वैल्यू होती है . दूसरा पैरामीटर token होता है. यह एक यूनीक वैल्यू होती है. इसे गोपनीय रखना ज़रूरी है , ताकि आपके वेबहुक की सुरक्षा बनी रहे.

वेबहुक की स्क्रिप्ट लिखना

वेबहुक की स्क्रिप्ट का उदाहरण, वेबहुक के यूआरएल पर POST अनुरोध भेजकर, उस स्पेस में मैसेज भेजता है जिसमें वेबहुक रजिस्टर किया गया है. Chat API, Message का इंस्टेंस दिखाता है.

वेबहुक की स्क्रिप्ट बनाने का तरीका जानने के लिए, कोई भाषा चुनें:

Node.js

  1. अपनी वर्किंग डायरेक्ट्री में, index.js नाम की फ़ाइल बनाएं.
  2. index.js में, यह कोड चिपकाएं:
  3. url वैरिएबल की वैल्यू को, उस वेबहुक यूआरएल से बदलें जिसे आपने वेबहुक रजिस्टर करते समय कॉपी किया था.

Python

  1. अपनी वर्किंग डायरेक्ट्री में, quickstart.py नाम की फ़ाइल बनाएं.
  2. quickstart.py में, यह कोड चिपकाएं:
  3. url वैरिएबल की वैल्यू को, उस वेबहुक यूआरएल से बदलें जिसे आपने वेबहुक रजिस्टर करते समय कॉपी किया था.

Java

  1. अपनी वर्किंग डायरेक्ट्री में, pom.xml नाम की फ़ाइल बनाएं.
  2. pom.xml में, यह कोड कॉपी करके चिपकाएं:
  3. अपनी वर्किंग डायरेक्ट्री में, डायरेक्ट्री का यह स्ट्रक्चर बनाएं: src/main/java.
  4. src/main/java डायरेक्ट्री में, App.java नाम की फ़ाइल बनाएं.
  5. App.java में, यह कोड चिपकाएं:
  6. URL वैरिएबल की वैल्यू को, उस वेबहुक यूआरएल से बदलें जिसे आपने वेबहुक रजिस्टर करते समय कॉपी किया था.

Apps Script

  1. किसी ब्राउज़र में, Apps Script पर जाएं.
  2. नया प्रोजेक्ट पर क्लिक करें
  3. यह कोड चिपकाएं:
  4. url वैरिएबल की वैल्यू को, उस वेबहुक यूआरएल से बदलें जिसे आपने वेबहुक रजिस्टर करते समय कॉपी किया था.

वेबहुक की स्क्रिप्ट चलाना

सीएलआई में, स्क्रिप्ट चलाएं:

Node.js

  node index.js

Python

  python3 quickstart.py

Java

  mvn compile exec:java -Dexec.mainClass=App

Apps Script

कोड चलाने पर, वेबहुक उस स्पेस में मैसेज भेजता है जिसमें आपने उसे रजिस्टर किया था.

मैसेज थ्रेड शुरू करना या उसका जवाब देना

  1. मैसेज के अनुरोध के मुख्य हिस्से में, spaces.messages.thread.threadKey तय करें. थ्रेड शुरू करने या उसका जवाब देने के हिसाब से, threadKey के लिए ये वैल्यू इस्तेमाल करें:
    • थ्रेड शुरू करने पर, threadKey को कोई भी स्ट्रिंग पर सेट करें. हालांकि, थ्रेड का जवाब पोस्ट करने के लिए, इस वैल्यू को नोट कर लें.
    • थ्रेड का जवाब देने पर, वह threadKey तय करें जिसे थ्रेड शुरू करते समय सेट किया गया था. उदाहरण के लिए, उस थ्रेड का जवाब पोस्ट करने के लिए जिसमें शुरुआती मैसेज में MY-THREAD का इस्तेमाल किया गया था, MY-THREAD सेट करें.
  2. अगर तय किया गया threadKey नहीं मिलता है, तो थ्रेड के व्यवहार को तय करें:
    • थ्रेड का जवाब दें या नई थ्रेड शुरू करें. वेबहुक के यूआरएल में, messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD पैरामीटर जोड़ें. इस यूआरएल पैरामीटर को पास करने पर, Chat, तय किए गए threadKey का इस्तेमाल करके, मौजूदा थ्रेड को खोजता है. अगर कोई थ्रेड मिलती है, तो मैसेज उस थ्रेड के जवाब के तौर पर पोस्ट होता है. अगर कोई थ्रेड नहीं मिलती है, तो मैसेज उस threadKey के लिए नई थ्रेड शुरू करता है.
    • थ्रेड का जवाब दें या कुछ न करें. वेबहुक के यूआरएल में, messageReplyOption=REPLY_MESSAGE_OR_FAIL पैरामीटर जोड़ें. इस यूआरएल पैरामीटर को पास करने पर, Chat, तय किए गए threadKey का इस्तेमाल करके, मौजूदा थ्रेड को खोजता है. अगर कोई थ्रेड मिलती है, तो मैसेज उस थ्रेड के जवाब के तौर पर पोस्ट होता है. अगर कोई थ्रेड नहीं मिलती है, तो मैसेज नहीं भेजा जाता.
      ज़्यादा जानने के लिए, messageReplyOption देखें.

कोड के इस सैंपल से, मैसेज थ्रेड शुरू की जा सकती है या उसका जवाब दिया जा सकता है:

Node.js

Python

Java

Apps Script

गड़बड़ियों को ठीक करना

वेबहुक के अनुरोध कई वजहों से पूरे नहीं हो सकते. इनमें ये वजहें शामिल हैं:

वेबहुक बनाते समय, आपको गड़बड़ियों को ठीक करने के लिए, यह तरीका अपनाना चाहिए:

Google Chat API, गड़बड़ियों को google.rpc.Status, के तौर पर दिखाता है. इसमें एचटीटीपी गड़बड़ी का code शामिल होता है. इससे पता चलता है कि किस तरह की गड़बड़ी हुई है: क्लाइंट की गड़बड़ी (400 सीरीज़) या सर्वर की गड़बड़ी (500 सीरीज़). सभी एचटीटीपी मैपिंग की समीक्षा करने के लिए, देखेंgoogle.rpc.Code.

{
    "code": 503,
    "message": "The service is currently unavailable.",
    "status": "UNAVAILABLE"
}

एचटीटीपी स्टेटस कोड को समझने और गड़बड़ियों को ठीक करने का तरीका जानने के लिए, गड़बड़ियां देखें.

सीमाएं और ज़रूरी बातें

जब तक कुछ अलग से न बताया जाए, तब तक इस पेज की सामग्री को Creative Commons Attribution 4.0 License के तहत और कोड के नमूनों को Apache 2.0 License के तहत लाइसेंस मिला है. ज़्यादा जानकारी के लिए, Google Developers साइट नीतियां देखें. Oracle और/या इससे जुड़ी हुई कंपनियों का, Java एक रजिस्टर किया हुआ ट्रेडमार्क है.

आखिरी बार 2026-04-01 (UTC) को अपडेट किया गया.