इस पेज पर, Pub/Sub का इस्तेमाल करके चैट ऐप्लिकेशन बनाने का तरीका बताया गया है. Chat ऐप्लिकेशन के लिए इस तरह का आर्किटेक्चर तब काम आता है, जब आपके संगठन में फ़ायरवॉल हो. यह फ़ायरवॉल, Chat को आपके Chat ऐप्लिकेशन पर मैसेज भेजने से रोक सकता है. इसके अलावा, यह तब भी काम आता है, जब Chat ऐप्लिकेशन Google Workspace Events API का इस्तेमाल करता हो. हालांकि, इन चैट ऐप्लिकेशन से सिर्फ़ एक साथ मैसेज भेजने और पाने की सुविधा मिलती है. इस वजह से, इस आर्किटेक्चर में ये सीमाएं हैं:
- मैसेज में डायलॉग का इस्तेमाल नहीं किया जा सकता. इसके बजाय, कार्ड मैसेज का इस्तेमाल करें.
- एक साथ कई जवाबों की मदद से, अलग-अलग कार्ड अपडेट नहीं किए जा सकते. इसके बजाय,
patch
तरीका कॉल करके, पूरे मैसेज को अपडेट करें.
इस डायग्राम में, Pub/Sub की मदद से बनाए गए चैट ऐप्लिकेशन का आर्किटेक्चर दिखाया गया है:
पिछले डायग्राम में, Pub/Sub Chat ऐप्लिकेशन का इस्तेमाल करने वाले उपयोगकर्ता की जानकारी का यह फ़्लो है:
कोई उपयोगकर्ता, Chat ऐप्लिकेशन में डायरेक्ट मैसेज या Chat स्पेस में मैसेज भेजता है या Chat स्पेस में कोई ऐसा इवेंट होता है जिसके लिए Chat ऐप्लिकेशन की सदस्यता चालू हो.
Chat, मैसेज को Pub/Sub विषय पर भेजता है.
ऐप्लिकेशन सर्वर, फ़ायरवॉल के ज़रिए मैसेज पाने के लिए, Pub/Sub विषय की सदस्यता लेता है. यह सर्वर, क्लाउड या ऑन-प्राइमिस सिस्टम हो सकता है. इसमें Chat ऐप्लिकेशन का लॉजिक होता है.
इसके अलावा, Chat ऐप्लिकेशन, मैसेज पोस्ट करने या अन्य काम करने के लिए, Chat API को कॉल कर सकता है.
ज़रूरी शर्तें
Java
- आपके पास Google Workspace का Business या Enterprise वर्शन वाला खाता हो. साथ ही, आपके पास Google Chat का ऐक्सेस हो.
- बिलिंग की सुविधा वाला Google Cloud प्रोजेक्ट. किसी मौजूदा प्रोजेक्ट के लिए बिलिंग की सुविधा चालू है या नहीं, यह देखने के लिए अपने प्रोजेक्ट के लिए बिलिंग की सुविधा के चालू होने की पुष्टि करना लेख पढ़ें. प्रोजेक्ट बनाने और बिलिंग सेट अप करने के लिए, Google Cloud प्रोजेक्ट बनाना लेख पढ़ें.
- Java 11 या उसके बाद का वर्शन
- Maven पैकेज मैनेजमेंट टूल
Python
- आपके पास Google Workspace का Business या Enterprise वर्शन वाला खाता हो. साथ ही, आपके पास Google Chat का ऐक्सेस हो.
- बिलिंग की सुविधा वाला Google Cloud प्रोजेक्ट. किसी मौजूदा प्रोजेक्ट के लिए बिलिंग की सुविधा चालू है या नहीं, यह देखने के लिए अपने प्रोजेक्ट के लिए बिलिंग की सुविधा के चालू होने की पुष्टि करना लेख पढ़ें. प्रोजेक्ट बनाने और बिलिंग सेट अप करने के लिए, Google Cloud प्रोजेक्ट बनाना लेख पढ़ें.
- Python 3.6 या इसके बाद का वर्शन
- pip पैकेज मैनेजमेंट टूल
Node.js
- आपके पास Google Workspace का Business या Enterprise वर्शन वाला खाता हो. साथ ही, आपके पास 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 को पब्लिश करने की अनुमति दें:
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
डालें. - काम करने का तरीका में जाकर, 1:1 मैसेज पाएं और स्पेसेज़ और ग्रुप बातचीत में शामिल हों को चुनें.
- कनेक्शन सेटिंग में जाकर, 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 ऐप्लिकेशन का नाम लिखें.
नतीजों में से अपना चैट ऐप्लिकेशन चुनें. एक डायरेक्ट मैसेज खुलता है.
- ऐप्लिकेशन को भेजे गए नए डायरेक्ट मैसेज में,
Hello
लिखें औरenter
दबाएं.
भरोसेमंद टेस्टर जोड़ने और इंटरैक्टिव सुविधाओं की जांच करने के बारे में ज़्यादा जानने के लिए, Google Chat ऐप्लिकेशन के लिए इंटरैक्टिव सुविधाओं की जांच करना लेख पढ़ें.
समस्या हल करें
जब Google Chat ऐप्लिकेशन या कार्ड से कोई गड़बड़ी का मैसेज मिलता है, तो Chat इंटरफ़ेस पर "कोई गड़बड़ी हुई" मैसेज दिखता है. या "आपका अनुरोध प्रोसेस नहीं किया जा सका." कभी-कभी Chat के यूज़र इंटरफ़ेस (यूआई) पर, गड़बड़ी का कोई मैसेज नहीं दिखता. हालांकि, Chat ऐप्लिकेशन या कार्ड से अनचाहा नतीजा मिल सकता है. उदाहरण के लिए, हो सकता है कि कार्ड का मैसेज न दिखे.
ऐसा हो सकता है कि Chat के यूज़र इंटरफ़ेस (यूआई) में गड़बड़ी का मैसेज न दिखे. हालांकि, Chat ऐप्लिकेशन के लिए गड़बड़ी को लॉग करने की सुविधा चालू होने पर, गड़बड़ी के बारे में जानकारी देने वाले मैसेज और लॉग डेटा उपलब्ध होते हैं. इनकी मदद से, गड़बड़ियों को ठीक किया जा सकता है. गड़बड़ियों को देखने, डिबग करने, और ठीक करने में मदद पाने के लिए, Google Chat में गड़बड़ियों को हल करना और उन्हें ठीक करना लेख पढ़ें.
व्यवस्थित करें
हमारा सुझाव है कि आप इस ट्यूटोरियल में इस्तेमाल किए गए संसाधनों के लिए, अपने Google Cloud खाते से शुल्क लगने से बचने के लिए, Cloud प्रोजेक्ट मिटा दें.
- Google Cloud Console में, संसाधन मैनेज करें पेज पर जाएं. मेन्यू > IAM और एडमिन > संसाधन मैनेज करें पर क्लिक करें.
- प्रोजेक्ट की सूची में, वह प्रोजेक्ट चुनें जिसे मिटाना है. इसके बाद, मिटाएं पर क्लिक करें.
- डायलॉग में, प्रोजेक्ट आईडी टाइप करें. इसके बाद, प्रोजेक्ट को मिटाने के लिए बंद करें पर क्लिक करें.
मिलते-जुलते विषय
Chat ऐप्लिकेशन में ज़्यादा सुविधाएं जोड़ने के लिए, ये देखें: