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