इस पेज पर, Pub/Sub का इस्तेमाल करके Chat ऐप्लिकेशन बनाने का तरीका बताया गया है. Chat ऐप्लिकेशन के लिए इस तरह का आर्किटेक्चर तब फ़ायदेमंद होता है, जब आपके संगठन के पास फ़ायरवॉल हो. इससे Chat को आपके Chat ऐप्लिकेशन पर मैसेज भेजने से रोका जा सकता है. इसके अलावा, यह तब भी फ़ायदेमंद होता है, जब Chat ऐप्लिकेशन Google Workspace Events API का इस्तेमाल करता हो. हालांकि, इस आर्किटेक्चर में ये सीमाएं हैं. ऐसा इसलिए है, क्योंकि ये चैट ऐप्लिकेशन सिर्फ़ एसिंक्रोनस मैसेज भेज और पा सकते हैं:
- मैसेज में डायलॉग का इस्तेमाल नहीं किया जा सकता. इसके बजाय, कार्ड मैसेज का इस्तेमाल करें.
- सिंक्रोनस जवाब के साथ अलग-अलग कार्ड अपडेट नहीं किए जा सकते. इसके बजाय,
patch
तरीके को कॉल करके, पूरे मैसेज को अपडेट करें.
यहां दिए गए डायग्राम में, Pub/Sub की मदद से बनाए गए चैट ऐप्लिकेशन का आर्किटेक्चर दिखाया गया है:
ऊपर दिए गए डायग्राम में, Pub/Sub Chat ऐप्लिकेशन के साथ इंटरैक्ट करने वाले उपयोगकर्ता के लिए, जानकारी का फ़्लो इस तरह होता है:
कोई उपयोगकर्ता, Chat ऐप्लिकेशन को Chat में मैसेज भेजता है. यह मैसेज, डायरेक्ट मैसेज या Chat स्पेस में भेजा जाता है. इसके अलावा, Chat स्पेस में कोई ऐसा इवेंट होता है जिसके लिए Chat ऐप्लिकेशन के पास चालू सदस्यता है.
Chat, मैसेज को Pub/Sub विषय पर भेजता है.
ऐप्लिकेशन सर्वर, क्लाउड या ऑन-प्रिमाइसेस सिस्टम होता है. इसमें Chat ऐप्लिकेशन का लॉजिक होता है. यह Pub/Sub विषय की सदस्यता लेता है, ताकि फ़ायरवॉल के ज़रिए मैसेज मिल सके.
Chat ऐप्लिकेशन, Chat API को कॉल करके मैसेज पोस्ट कर सकता है या अन्य कार्रवाइयाँ कर सकता है. हालाँकि, ऐसा करना ज़रूरी नहीं है.
ज़रूरी शर्तें
Java
- आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.
- बिलिंग की सुविधा वाला Google Cloud प्रोजेक्ट. यह देखने के लिए कि किसी मौजूदा प्रोजेक्ट के लिए बिलिंग की सुविधा चालू है या नहीं, अपने प्रोजेक्ट के बिलिंग स्टेटस की पुष्टि करें लेख पढ़ें. प्रोजेक्ट बनाने और बिलिंग सेट अप करने के लिए, Google Cloud प्रोजेक्ट बनाना लेख पढ़ें.
- Java 11 या इसके बाद का वर्शन
- Maven पैकेज मैनेजमेंट टूल
Python
- आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.
- बिलिंग की सुविधा वाला Google Cloud प्रोजेक्ट. यह देखने के लिए कि किसी मौजूदा प्रोजेक्ट के लिए बिलिंग की सुविधा चालू है या नहीं, अपने प्रोजेक्ट के बिलिंग स्टेटस की पुष्टि करें लेख पढ़ें. प्रोजेक्ट बनाने और बिलिंग सेट अप करने के लिए, Google Cloud प्रोजेक्ट बनाना लेख पढ़ें.
- Python 3.6 या इसके बाद का वर्शन
- pip पैकेज मैनेजमेंट टूल
Node.js
- आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.
- बिलिंग की सुविधा वाला Google Cloud प्रोजेक्ट. यह देखने के लिए कि किसी मौजूदा प्रोजेक्ट के लिए बिलिंग की सुविधा चालू है या नहीं, अपने प्रोजेक्ट के बिलिंग स्टेटस की पुष्टि करें लेख पढ़ें. प्रोजेक्ट बनाने और बिलिंग सेट अप करने के लिए, Google Cloud प्रोजेक्ट बनाना लेख पढ़ें.
- Node.js 14 या इसके बाद का वर्शन
- npm पैकेज मैनेजमेंट टूल
-
Node.js प्रोजेक्ट शुरू किया गया हो. नया प्रोजेक्ट शुरू करने के लिए, एक नया फ़ोल्डर बनाएं और उसमें स्विच करें. इसके बाद, कमांड-लाइन इंटरफ़ेस में यह कमांड चलाएं:
npm init
एनवायरमेंट सेट अप करना
Google API का इस्तेमाल करने से पहले, आपको उन्हें Google Cloud प्रोजेक्ट में चालू करना होगा. एक ही Google Cloud प्रोजेक्ट में, एक या उससे ज़्यादा एपीआई चालू किए जा सकते हैं.Google Cloud Console में, Google Chat API और Pub/Sub API को चालू करें.
Pub/Sub सेट अप करना
Pub/Sub का ऐसा विषय बनाएं जिस पर Chat API मैसेज भेज सके. हमारा सुझाव है कि आप हर Chat ऐप्लिकेशन के लिए, एक ही विषय का इस्तेमाल करें.
चैट को पब्लिश करने की अनुमति दें. इसके लिए, यहां दिए गए सेवा खाते को Pub/Sub पब्लिशर की भूमिका असाइन करें:
chat-api-push@system.gserviceaccount.com
Chat ऐप्लिकेशन के लिए, एक सेवा खाता बनाएं, ताकि Pub/Sub और Chat के साथ पुष्टि की जा सके. साथ ही, निजी पासकोड फ़ाइल को अपनी वर्किंग डायरेक्ट्री में सेव करें.
विषय के लिए, पुल सदस्यता बनाएं.
आपने पहले जो सेवा खाता बनाया था उसके लिए, सदस्यता पर Pub/Sub सदस्य की भूमिका असाइन करें.
स्क्रिप्ट लिखना
Java
सीएलआई में, सेवा खाते के क्रेडेंशियल डालें:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
सीएलआई में, Google Cloud प्रोजेक्ट आईडी डालें:
export PROJECT_ID=PROJECT_ID
सीएलआई में, उस Pub/Sub सदस्यता के लिए सदस्यता आईडी दें जिसे आपने पहले बनाया था:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
अपनी वर्किंग डायरेक्ट्री में,
pom.xml
नाम की एक फ़ाइल बनाएं.pom.xml
फ़ाइल में, यह कोड चिपकाएं:अपनी वर्किंग डायरेक्ट्री में,
src/main/java
डायरेक्ट्री स्ट्रक्चर बनाएं.src/main/java
डायरेक्ट्री में,Main.java
नाम की फ़ाइल बनाएं.Main.java
में, यह कोड चिपकाएं:
Python
सीएलआई में, सेवा खाते के क्रेडेंशियल डालें:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
सीएलआई में, Google Cloud प्रोजेक्ट आईडी डालें:
export PROJECT_ID=PROJECT_ID
सीएलआई में, उस Pub/Sub सदस्यता के लिए सदस्यता आईडी दें जिसे आपने पहले बनाया था:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
अपनी वर्किंग डायरेक्ट्री में,
requirements.txt
नाम की एक फ़ाइल बनाएं.requirements.txt
फ़ाइल में, यह कोड चिपकाएं:अपनी वर्किंग डायरेक्ट्री में,
app.py
नाम की एक फ़ाइल बनाएं.app.py
में, यह कोड चिपकाएं:
Node.js
सीएलआई में, सेवा खाते के क्रेडेंशियल डालें:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
सीएलआई में, Google Cloud प्रोजेक्ट आईडी डालें:
export PROJECT_ID=PROJECT_ID
सीएलआई में, उस Pub/Sub सदस्यता के लिए सदस्यता आईडी दें जिसे आपने पहले बनाया था:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
अपनी वर्किंग डायरेक्ट्री में,
package.json
नाम की एक फ़ाइल बनाएं.package.json
फ़ाइल में, यह कोड चिपकाएं:अपनी वर्किंग डायरेक्ट्री में,
index.js
नाम की एक फ़ाइल बनाएं.index.js
में, यह कोड चिपकाएं:
Chat में ऐप्लिकेशन पब्लिश करना
Google Cloud console में, मेन्यू > एपीआई और सेवाएं > चालू किए गए एपीआई और सेवाएं > Google Chat API > कॉन्फ़िगरेशन पर जाएं.
Pub/Sub के लिए Chat ऐप्लिकेशन को कॉन्फ़िगर करें:
- ऐप्लिकेशन का नाम में,
Quickstart App
डालें. - अवतार यूआरएल में,
https://developers.google.com/chat/images/quickstart-app-avatar.png
डालें. - ब्यौरा में,
Quickstart app
डालें. - सुविधाएं में जाकर, स्पेस और ग्रुप बातचीत में शामिल हों को चुनें.
- कनेक्शन सेटिंग में जाकर, Cloud Pub/Sub को चुनें. इसके बाद, उस Pub/Sub विषय का नाम चिपकाएं जिसे आपने पहले बनाया था.
- दिखने की सेटिंग में जाकर, अपने डोमेन में इस Google Chat ऐप्लिकेशन को चुनिंदा लोगों और ग्रुप के लिए उपलब्ध कराएं को चुनें. इसके बाद, अपना ईमेल पता डालें.
- लॉग में जाकर, लॉगिंग में गड़बड़ियों को लॉग करें चुनें.
- ऐप्लिकेशन का नाम में,
सेव करें पर क्लिक करें.
अब यह ऐप्लिकेशन, Chat पर मैसेज पाने और उनका जवाब देने के लिए तैयार है.
स्क्रिप्ट चलाना
सीएलआई में, अपनी वर्किंग डायरेक्ट्री पर जाएं और स्क्रिप्ट चलाएं:
Java
mvn compile exec:java -Dexec.mainClass=Main
Python
python -m venv env
source env/bin/activate
pip install -r requirements.txt -U
python app.py
Node.js
npm install
npm start
कोड चलाने पर, ऐप्लिकेशन Pub/Sub विषय पर पब्लिश किए गए मैसेज सुनने लगता है.
Chat ऐप्लिकेशन को टेस्ट करना
Chat ऐप्लिकेशन को आज़माने के लिए, Chat ऐप्लिकेशन में डायरेक्ट मैसेज स्पेस खोलें और कोई मैसेज भेजें:
Google Workspace खाते का इस्तेमाल करके Google Chat खोलें. आपने इसी खाते से, भरोसेमंद टेस्टर के तौर पर खुद को जोड़ा था.
- नई चैट पर क्लिक करें.
- एक या उससे ज़्यादा लोगों को जोड़ें फ़ील्ड में, अपने Chat ऐप्लिकेशन का नाम डालें.
नतीजों में से अपना Chat ऐप्लिकेशन चुनें. एक डायरेक्ट मैसेज खुलता है.
- ऐप्लिकेशन को भेजे गए नए डायरेक्ट मैसेज में,
Hello
टाइप करें औरenter
दबाएं.
भरोसेमंद टेस्टर जोड़ने और इंटरैक्टिव सुविधाओं की टेस्टिंग के बारे में ज़्यादा जानने के लिए, Google Chat ऐप्लिकेशन के लिए इंटरैक्टिव सुविधाओं की टेस्टिंग करना लेख पढ़ें.
समस्या हल करें
जब कोई Google Chat ऐप्लिकेशन या कार्ड कोई गड़बड़ी दिखाता है, तो Chat इंटरफ़ेस पर एक मैसेज दिखता है. इसमें लिखा होता है कि "कोई गड़बड़ी हुई." या "आपका अनुरोध प्रोसेस नहीं किया जा सका." कभी-कभी Chat के यूज़र इंटरफ़ेस (यूआई) में कोई गड़बड़ी का मैसेज नहीं दिखता है, लेकिन Chat ऐप्लिकेशन या कार्ड से कोई अनचाहा नतीजा मिलता है. उदाहरण के लिए, ऐसा हो सकता है कि कार्ड मैसेज न दिखे.
ऐसा हो सकता है कि Chat के यूज़र इंटरफ़ेस (यूआई) में गड़बड़ी का मैसेज न दिखे. हालांकि, Chat ऐप्लिकेशन के लिए गड़बड़ी के लॉगिंग की सुविधा चालू होने पर, गड़बड़ियों को ठीक करने में आपकी मदद करने के लिए, गड़बड़ी के बारे में जानकारी देने वाले मैसेज और लॉग डेटा उपलब्ध होता है. गड़बड़ियों को देखने, डीबग करने, और ठीक करने के बारे में मदद पाने के लिए, Google Chat से जुड़ी गड़बड़ियों को ठीक करना लेख पढ़ें.
व्यवस्थित करें
इस ट्यूटोरियल में इस्तेमाल किए गए संसाधनों के लिए, अपने Google Cloud खाते से शुल्क न लिए जाने से बचने के लिए, हमारा सुझाव है कि आप Cloud प्रोजेक्ट मिटा दें.
- Google Cloud Console में, संसाधन मैनेज करें पेज पर जाएं. मेन्यू > IAM और एडमिन > संसाधन मैनेज करें पर क्लिक करें.
- प्रोजेक्ट की सूची में, वह प्रोजेक्ट चुनें जिसे आपको मिटाना है. इसके बाद, मिटाएं पर क्लिक करें.
- डायलॉग बॉक्स में, प्रोजेक्ट आईडी टाइप करें. इसके बाद, प्रोजेक्ट मिटाने के लिए बंद करें पर क्लिक करें.
मिलते-जुलते विषय
Chat ऐप्लिकेशन में ज़्यादा सुविधाएं जोड़ने के लिए, यहां जाएं: