इस गाइड में, Chat ऐप्लिकेशन की ओर से Google Chat API को ऐक्सेस करने के लिए, सेवा खाता सेट अप करने और उसका इस्तेमाल करने का तरीका बताया गया है. इसमें सबसे पहले, सेवा खाता बनाने का तरीका बताया गया है. इसके बाद, इसमें यह दिखाया गया है कि सेवा खाते का इस्तेमाल करके, Chat API से पुष्टि करने वाली स्क्रिप्ट कैसे लिखी जाती है. साथ ही, Chat स्पेस में मैसेज पोस्ट करने का तरीका भी बताया गया है.
जब किसी सेवा खाते से पुष्टि की जाती है, तब Chat स्पेस में डेटा पाने या कार्रवाइयां करने के लिए, Chat ऐप्लिकेशन के पास स्पेस की सदस्यता होनी चाहिए. उदाहरण के लिए, किसी स्पेस के सदस्यों की सूची बनाने या स्पेस में मैसेज बनाने के लिए, Chat ऐप्लिकेशन को खुद उस स्पेस का सदस्य होना चाहिए. इसका अपवाद सिर्फ़ तब होता है, जब Chat ऐप्लिकेशन, ऐप्लिकेशन की पुष्टि करने की सुविधा के साथ कोई स्पेस बनाता है. ऐसे में, ऐप्लिकेशन स्पेस बनाता है और फिर अपने-आप सदस्य बन जाता है.
Google Chat API के ऐसे तरीके जो अनुमति के दायरे के साथ ऐप्लिकेशन को अनुमति देने की सुविधा के साथ काम करते हैं और जिनके नाम https://www.googleapis.com/auth/chat.app.*
से शुरू होते हैं उनके लिए, एडमिन से एक बार मंज़ूरी लेना ज़रूरी है.
Google Chat API के ऐसे तरीके जिनमें https://www.googleapis.com/auth/chat.bot
अनुमति के दायरे के साथ ऐप्लिकेशन को अनुमति देने की सुविधा काम करती है उनके लिए, अतिरिक्त अनुमति की ज़रूरत नहीं होती. https://www.googleapis.com/auth/chat.app.*
अनुमति के दायरे, डेवलपर के लिए झलक में उपलब्ध हैं.
अगर आपके Chat ऐप्लिकेशन को उपयोगकर्ता का डेटा ऐक्सेस करना है या उपयोगकर्ता की ओर से कार्रवाइयां करनी हैं, तो उपयोगकर्ता के तौर पर पुष्टि करें. अगर आप डोमेन एडमिन हैं, तो आपके पास पूरे डोमेन के लिए, अधिकार सौंपने की सुविधा चालू करने का विकल्प होता है. इससे, Chat ऐप्लिकेशन के सेवा खाते को अपने उपयोगकर्ताओं का डेटा ऐक्सेस करने की अनुमति दी जा सकती है. इसके लिए, हर उपयोगकर्ता से सहमति लेने की ज़रूरत नहीं होती. ज़्यादा जानकारी के लिए, पूरे डोमेन के डेटा का ऐक्सेस देने की सुविधा का इस्तेमाल करके पुष्टि करना और अनुमति देना लेख पढ़ें.
Chat ऐप्लिकेशन को कब पुष्टि करने की ज़रूरत होती है और किस तरह की पुष्टि का इस्तेमाल करना चाहिए, इस बारे में ज़्यादा जानने के लिए, Chat API की पुष्टि करने और अनुमति देने की खास जानकारी में पुष्टि करने के ज़रूरी तरीके देखें.
ज़रूरी शर्तें
Java
- JDK 1.7 या उसके बाद का वर्शन
- Maven पैकेज मैनेजमेंट टूल
-
Maven प्रोजेक्ट शुरू किया गया हो. नया प्रोजेक्ट शुरू करने के लिए, अपने कमांड-लाइन इंटरफ़ेस में यह कमांड चलाएं:
mvn archetype:generate -DgroupId=com.google.chat.app.authsample -DartifactId=auth-sample-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
- Google Chat ऐप्लिकेशन, जो इंटरैक्शन इवेंट को पाने और उनका जवाब देने का काम करता है. एचटीटीपी सेवा का इस्तेमाल करके, इंटरैक्टिव Chat ऐप्लिकेशन बनाने के लिए, यह क्विकस्टार्ट पूरा करें.
- किसी स्पेस में Chat ऐप्लिकेशन जोड़ें. Chat ऐप्लिकेशन जोड़ने के लिए, Google Chat ऐप्लिकेशन के लिए इंटरैक्टिव सुविधाओं को टेस्ट करना लेख पढ़ें.
Python
- Python 3.6 या इसके बाद का वर्शन
- pip पैकेज मैनेजमेंट टूल
- Google Chat ऐप्लिकेशन, जो इंटरैक्शन इवेंट को पाने और उनका जवाब देने का काम करता है. एचटीटीपी सेवा का इस्तेमाल करके, इंटरैक्टिव Chat ऐप्लिकेशन बनाने के लिए, यह क्विकस्टार्ट पूरा करें.
- किसी स्पेस में Chat ऐप्लिकेशन जोड़ें. Chat ऐप्लिकेशन जोड़ने के लिए, Google Chat ऐप्लिकेशन के लिए इंटरैक्टिव सुविधाओं को टेस्ट करना लेख पढ़ें.
Node.js
- Node.js 14 या इसके बाद का वर्शन
- npm पैकेज मैनेजमेंट टूल
-
Node.js प्रोजेक्ट शुरू किया गया हो. नया प्रोजेक्ट शुरू करने के लिए, एक नया फ़ोल्डर बनाएं और उसमें स्विच करें. इसके बाद, कमांड-लाइन इंटरफ़ेस में यह कमांड चलाएं:
npm init
- Google Chat ऐप्लिकेशन, जो इंटरैक्शन इवेंट को पाने और उनका जवाब देने का काम करता है. एचटीटीपी सेवा का इस्तेमाल करके, इंटरैक्टिव Chat ऐप्लिकेशन बनाने के लिए, यह क्विकस्टार्ट पूरा करें.
- किसी स्पेस में Chat ऐप्लिकेशन जोड़ें. Chat ऐप्लिकेशन जोड़ने के लिए, Google Chat ऐप्लिकेशन के लिए इंटरैक्टिव सुविधाओं को टेस्ट करना लेख पढ़ें.
Apps Script
- Google Chat ऐप्लिकेशन, जो इंटरैक्शन इवेंट को पाने और उनका जवाब देने का काम करता है. Apps Script में इंटरैक्टिव Chat ऐप्लिकेशन बनाने के लिए, यह क्विकस्टार्ट पूरा करें.
- किसी स्पेस में Chat ऐप्लिकेशन जोड़ें. Chat ऐप्लिकेशन जोड़ने के लिए, Google Chat ऐप्लिकेशन के लिए इंटरैक्टिव सुविधाओं को टेस्ट करना लेख पढ़ें.
पहला चरण: Google Cloud Console में सेवा खाता बनाना
एक ऐसा सेवा खाता बनाएं जिसका इस्तेमाल करके, आपका Chat ऐप्लिकेशन Google API को ऐक्सेस कर सके.
सेवा खाता बनाना
सेवा खाता बनाने के लिए, यह तरीका अपनाएं:
Google Cloud कंसोल
- Google Cloud console में, मेन्यू > आईएएम और एडमिन > सेवा खाते पर जाएं.
- सेवा खाता बनाएं पर क्लिक करें.
- सेवा खाते की जानकारी भरें. इसके बाद, बनाएं और जारी रखें पर क्लिक करें.
- ज़रूरी नहीं: अपने सेवा खाते को भूमिकाएं असाइन करें, ताकि उसे आपके Google Cloud प्रोजेक्ट के संसाधनों का ऐक्सेस मिल सके. ज़्यादा जानकारी के लिए, संसाधनों का ऐक्सेस देना, उसमें बदलाव करना, और उसे रद्द करना लेख पढ़ें.
- जारी रखें पर क्लिक करें.
- उन उपयोगकर्ताओं या ग्रुप के नाम डालें जिनके पास इस सेवा खाते को मैनेज करने और इससे जुड़ी कार्रवाइयां करने का ऐक्सेस है. हालांकि, यह ज़रूरी नहीं है. ज़्यादा जानकारी के लिए, सेवा खाते के डुप्लीकेट को मैनेज करना लेख पढ़ें.
- हो गया पर क्लिक करें. सेवा खाते का ईमेल पता नोट कर लें.
gcloud सीएलआई
- सेवा खाता बनाएं:
gcloud iam service-accounts create
SERVICE_ACCOUNT_NAME
\ --display-name="SERVICE_ACCOUNT_NAME
" - ज़रूरी नहीं: अपने सेवा खाते को भूमिकाएं असाइन करें, ताकि उसे आपके Google Cloud प्रोजेक्ट के संसाधनों का ऐक्सेस मिल सके. ज़्यादा जानकारी के लिए, संसाधनों का ऐक्सेस देना, उसमें बदलाव करना, और उसे रद्द करना लेख पढ़ें.
सेवा खाता, सेवा खाते वाले पेज पर दिखता है. इसके बाद, सेवा खाते के लिए निजी कुंजी बनाएं.
निजी कुंजी बनाना
सेवा खाते के लिए निजी पासकोड बनाने और उसे डाउनलोड करने के लिए, यह तरीका अपनाएं:
- Google Cloud console में, मेन्यू > आईएएम और एडमिन > सेवा खाते पर जाएं.
- अपना सेवा खाता चुनें.
- कुंजियां > कुंजी जोड़ें > नई कुंजी बनाएं पर क्लिक करें.
- JSON चुनें. इसके बाद, बनाएं पर क्लिक करें.
आपकी नई सार्वजनिक/निजी कुंजी की जोड़ी जनरेट करके आपकी मशीन पर एक नई फ़ाइल के तौर पर डाउनलोड की जाती है. डाउनलोड की गई JSON फ़ाइल को अपनी वर्किंग डायरेक्ट्री में
credentials.json
के तौर पर सेव करें. यह फ़ाइल, इस कुंजी की सिर्फ़ एक कॉपी है. अपनी कुंजी को सुरक्षित तरीके से सेव करने के बारे में जानकारी के लिए, सेवा खाते की कुंजियां मैनेज करना लेख पढ़ें. - बंद करें पर क्लिक करें.
सेवा खातों के बारे में ज़्यादा जानने के लिए, Google Cloud IAM के दस्तावेज़ में सेवा खाते लेख पढ़ें.
इसके बाद, इस सेवा खाते के लिए Google Workspace Marketplace के साथ काम करने वाला OAuth क्लाइंट बनाएं.
एडमिन की मंज़ूरी पाना
इस प्रोग्राम में शामिल होने पर, आपको कुछ सुविधाओं को रिलीज़ होने से पहले ही इस्तेमाल करने का ऐक्सेस मिलता है.https://www.googleapis.com/auth/chat.bot
अनुमति के दायरे का इस्तेमाल करने के लिए,
एडमिन की अनुमति की ज़रूरत नहीं है. दूसरा चरण: Google क्लाइंट लाइब्रेरी और अन्य डिपेंडेंसी इंस्टॉल करना पर जाएं.
इस गाइड में दिए गए उदाहरण में, https://www.googleapis.com/auth/chat.bot
ऑथराइज़ेशन स्कोप का इस्तेमाल किया गया है. इसलिए, अगर आपको उदाहरण के हिसाब से काम करना है, तो दूसरे चरण पर जाएं.
https://www.googleapis.com/auth/chat.app.*
से शुरू होने वाले अनुमति के स्कोप का इस्तेमाल करने के लिए, आपके Chat ऐप्लिकेशन को एक बार एडमिन की अनुमति लेनी होगी. ये स्कोप, डेवलपर प्रीव्यू के तौर पर उपलब्ध हैं.
एडमिन की मंज़ूरी पाने के लिए, आपको Chat ऐप्लिकेशन के सेवा खाते को तैयार करना होगा. इसके लिए, आपको यह जानकारी देनी होगी:
- Google Workspace Marketplace के साथ काम करने वाला OAuth क्लाइंट.
- Google Workspace Marketplace SDK में ऐप्लिकेशन का कॉन्फ़िगरेशन.
Google Workspace Marketplace के साथ काम करने वाला OAuth क्लाइंट बनाना
Google Workspace Marketplace के साथ काम करने वाला OAuth क्लाइंट बनाने के लिए, यह तरीका अपनाएं:
Google Cloud console में, मेन्यू > आईएएम और एडमिन > सेवा खाते पर जाएं.
अपने Chat ऐप्लिकेशन के लिए बनाए गए सेवा खाते पर क्लिक करें.
बेहतर सेटिंग पर क्लिक करें.
Google Workspace Marketplace के साथ काम करने वाला OAuth क्लाइंट बनाएं पर क्लिक करें.
जारी रखें पर क्लिक करें.
पुष्टि करने वाला एक मैसेज दिखता है. इसमें बताया जाता है कि Google Workspace Marketplace के साथ काम करने वाला OAuth क्लाइंट बना दिया गया है.
Google Workspace Marketplace SDK टूल में Chat ऐप्लिकेशन को कॉन्फ़िगर करना
Google Workspace Marketplace SDK में Chat ऐप्लिकेशन को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:
Google Cloud Console में, Google Workspace Marketplace SDK टूल चालू करें.
Google Cloud Console में, मेन्यू > एपीआई और सेवाएं > चालू किए गए एपीआई और सेवाएं > Google Workspace Marketplace SDK > ऐप्लिकेशन कॉन्फ़िगरेशन पर जाएं.
ऐप्लिकेशन कॉन्फ़िगरेशन पेज पर जाकर, ज़रूरी जानकारी भरें. Chat ऐप्लिकेशन को कॉन्फ़िगर करने का तरीका, आपकी टारगेट ऑडियंस और अन्य बातों पर निर्भर करता है. ऐप्लिकेशन कॉन्फ़िगरेशन पेज को पूरा करने में मदद पाने के लिए, Google Workspace Marketplace SDK में अपना ऐप्लिकेशन कॉन्फ़िगर करना लेख पढ़ें. इस गाइड के लिए, यह जानकारी डालें:
- ऐप्लिकेशन किसको दिखाई दे में जाकर, निजी को चुनें.
- इंस्टॉल करने की सेटिंग में जाकर, व्यक्तिगत + एडमिन इंस्टॉल को चुनें.
- ऐप्लिकेशन इंटिग्रेशन में जाकर, Chat ऐप्लिकेशन चुनें.
OAuth के दायरे में जाकर, वे सभी पुष्टि करने के दायरे डालें जिनका इस्तेमाल आपका Chat ऐप्लिकेशन करता है.
डेवलपर के बारे में जानकारी में जाकर, डेवलपर का नाम, डेवलपर की वेबसाइट का यूआरएल, और डेवलपर का ईमेल पता डालें.
ड्राफ़्ट सेव करें पर क्लिक करें.
एडमिन की मंज़ूरी पाना
अब आपका सेवा खाता, एडमिन की मंज़ूरी पाने के लिए कॉन्फ़िगर हो गया है. इसलिए, Google Workspace एडमिन से मंज़ूरी लें. इसके लिए, एडमिन को Chat ऐप्लिकेशन के लिए अनुमति सेट अप करना लेख में दिया गया तरीका अपनाना होगा.
दूसरा चरण: Google क्लाइंट लाइब्रेरी और अन्य डिपेंडेंसी इंस्टॉल करना
Google क्लाइंट लाइब्रेरी और प्रोजेक्ट के लिए ज़रूरी अन्य डिपेंडेंसी इंस्टॉल करें.
Java
अपने Maven प्रोजेक्ट में Google की क्लाइंट लाइब्रेरी और अन्य ज़रूरी डिपेंडेंसी जोड़ने के लिए, अपने प्रोजेक्ट की डायरेक्ट्री में मौजूद pom.xml
फ़ाइल में बदलाव करें. इसके बाद, ये डिपेंडेंसी जोड़ें:
<dependencies>
<!-- ... existing dependencies ... -->
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-chat</artifactId>
<version>v1-rev20230905-2.0.0</version>
</dependency>
<dependency>
<groupId>com.google.auth</groupId>
<artifactId>google-auth-library-oauth2-http</artifactId>
<version>1.19.0</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
</dependencies>
Python
अगर आपने Python के लिए Google क्लाइंट लाइब्रेरी पहले से इंस्टॉल नहीं की हैं, तो कमांड-लाइन इंटरफ़ेस में यह कमांड चलाएं:
pip3 install --upgrade google-api-python-client google-auth
Node.js
अपने Node.js प्रोजेक्ट में Google क्लाइंट लाइब्रेरी जोड़ने के लिए, अपने प्रोजेक्ट की डायरेक्ट्री पर जाएं. इसके बाद, अपने कमांड-लाइन इंटरफ़ेस में यह कमांड चलाएं:
npm install "@googleapis/chat"
Apps Script
यह सैंपल, सेवा खाते की पुष्टि के लिए JWT टोकन जनरेट करने के लिए, Apps Script के लिए OAuth2 लाइब्रेरी का इस्तेमाल करता है. अपनी Apps Script प्रोजेक्ट में लाइब्रेरी जोड़ने के लिए:
- बाईं ओर, एडिटर पर क्लिक करें.
- बाईं ओर, लाइब्रेरी के बगल में, लाइब्रेरी जोड़ें पर क्लिक करें.
- स्क्रिप्ट आईडी
1B7FSrk5Zi6L1rSxxTDgDEUsPzlukDsi4KGuTMorsTQHhGBzBkMun4iDF
डालें. - खोजें पर क्लिक करें. इसके बाद, जोड़ें पर क्लिक करें.
इस सैंपल में, Google Chat API को कॉल करने के लिए Advanced Chat service का इस्तेमाल किया गया है. अपने Apps Script प्रोजेक्ट के लिए सेवा चालू करने के लिए:
- बाईं ओर, एडिटर पर क्लिक करें.
- बाईं ओर, सेवाएं के बगल में मौजूद, सेवा जोड़ें पर क्लिक करें.
- Google Chat API को चुनें.
- वर्शन में जाकर, v1 चुनें.
- जोड़ें पर क्लिक करें.
हमारी क्लाइंट लाइब्रेरी के साथ काम करने वाली किसी भी भाषा का इस्तेमाल किया जा सकता है.
तीसरा चरण: ऐसी स्क्रिप्ट लिखें जो सेवा खाते का इस्तेमाल करके, Chat API के साथ पुष्टि करे
यहां दिया गया कोड, सेवा खाते का इस्तेमाल करके Chat API से पुष्टि करता है. इसके बाद, Chat स्पेस में एक मैसेज पोस्ट करता है:
Java
- अपने प्रोजेक्ट की डायरेक्ट्री में,
src/main/java/com/google/chat/app/authsample/App.java
फ़ाइल खोलें. App.java
में मौजूद कॉन्टेंट की जगह यह कोड डालें:package com.google.chat.app.authsample; import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport; import com.google.api.client.http.HttpRequestInitializer; import com.google.api.client.json.gson.GsonFactory; import com.google.api.services.chat.v1.HangoutsChat; import com.google.api.services.chat.v1.model.Message; import com.google.auth.http.HttpCredentialsAdapter; import com.google.auth.oauth2.GoogleCredentials; /** * Authenticates with Chat API using service account credentials, * then creates a Chat message. */ public class App { // Specify required scopes. private static final String CHAT_SCOPE = "https://www.googleapis.com/auth/chat.bot"; // Specify service account details. private static final String PRIVATE_KEY_RESOURCE_URI = "/credentials.json"; public static void main( String[] args ) { try { // Run app. Message response = App.createChatMessage(); // Print details about the created message. System.out.println(response); } catch (Exception e) { e.printStackTrace(); } } private static Message createChatMessage() throws Exception { // Build the Chat API client and authenticate with the service account. GoogleCredentials credentials = GoogleCredentials.fromStream( App.class.getResourceAsStream(PRIVATE_KEY_RESOURCE_URI)) .createScoped(CHAT_SCOPE); HttpRequestInitializer requestInitializer = new HttpCredentialsAdapter(credentials); HangoutsChat chatService = new HangoutsChat.Builder( GoogleNetHttpTransport.newTrustedTransport(), GsonFactory.getDefaultInstance(), requestInitializer) .setApplicationName("auth-sample-app") .build(); // The space to create the message in. // // Replace SPACE_NAME with a space name. // Obtain the space name from the spaces resource of Chat API, // or from a space's URL. String spaceName = "spaces/SPACE_NAME"; // Create a Chat message. Message message = new Message().setText("Hello, world!"); return chatService.spaces().messages().create(spaceName, message).execute(); } }
कोड में,
SPACE_NAME
को स्पेस के नाम से बदलें. इसे Chat API मेंspaces.list
तरीके से या स्पेस के यूआरएल से पाया जा सकता है.अपने प्रोजेक्ट की डायरेक्ट्री में,
resources
नाम की नई सबडायरेक्ट्री बनाएं.पक्का करें कि आपके सेवा खाते की निजी कुंजी वाली फ़ाइल का नाम
credentials.json
हो. साथ ही, इसेresources
सबडायरेक्ट्री में कॉपी करें.प्रोजेक्ट पैकेज में निजी पासकोड वाली फ़ाइल को शामिल करने के लिए, Maven को कॉन्फ़िगर करने के लिए, अपने प्रोजेक्ट की डायरेक्ट्री में मौजूद
pom.xml
फ़ाइल में बदलाव करें. इसके बाद,<build>
सेक्शन में यह कॉन्फ़िगरेशन जोड़ें:<build> <!-- ... existing configurations ... --> <resources> <resource> <directory>resources</directory> </resource> </resources> </build>
Maven को कॉन्फ़िगर करने के लिए, प्रोजेक्ट पैकेज में डिपेंडेंसी शामिल करें और अपने ऐप्लिकेशन की मुख्य क्लास को एक्ज़ीक्यूट करें. इसके लिए, अपने प्रोजेक्ट की डायरेक्ट्री में मौजूद
pom.xml
फ़ाइल में बदलाव करें. साथ ही,<plugins>
सेक्शन में यह कॉन्फ़िगरेशन जोड़ें:<plugins> <!-- ... existing configurations ... --> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>com.google.chat.app.authsample.App</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> </plugins>
Python
- अपनी वर्किंग डायरेक्ट्री में,
chat_app_auth.py
नाम की एक फ़ाइल बनाएं. chat_app_auth.py
में यह कोड शामिल करें:from apiclient.discovery import build from google.oauth2 import service_account # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. creds = service_account.Credentials.from_service_account_file( 'credentials.json', scopes=SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=creds) # Create a Chat message. result = chat.spaces().messages().create( # The space to create the message in. # # Replace SPACE_NAME with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE_NAME', # The message to create. body={'text': 'Hello, world!'} ).execute() # Prints details about the created message. print(result)
कोड में,
SPACE_NAME
को स्पेस के नाम से बदलें. इसे Chat API मेंspaces.list
तरीके से या स्पेस के यूआरएल से पाया जा सकता है. पक्का करें कि आपके सेवा खाते की निजी कुंजी वाली फ़ाइल का नामcredentials.json
हो.
Node.js
- अपने प्रोजेक्ट की डायरेक्ट्री में,
chat_app_auth.js
नाम की फ़ाइल बनाएं. chat_app_auth.js
में यह कोड शामिल करें:const chat = require('@googleapis/chat'); async function createMessage() { const auth = new chat.auth.GoogleAuth({ // Specify service account details. keyFilename: 'credentials.json', // Specify required scopes. scopes: ['https://www.googleapis.com/auth/chat.bot'] }); const authClient = await auth.getClient(); // Create the Chat API client and authenticate with the service account. const chatClient = await chat.chat({ version: 'v1', auth: authClient }); // Create a Chat message. const result = await chatClient.spaces.messages.create({ // The space to create the message in. // // Replace SPACE_NAME with a space name. // Obtain the space name from the spaces resource of Chat API, // or from a space's URL. parent: 'spaces/SPACE_NAME', // The message to create. requestBody: { 'text': 'Hello, world!' } }); return result; } // Execute function then print details about the created message. createMessage().then(console.log);
कोड में,
SPACE_NAME
को स्पेस के नाम से बदलें. इसे Chat API मेंspaces.list
तरीके से या स्पेस के यूआरएल से पाया जा सकता है. पक्का करें कि आपके सेवा खाते की निजी कुंजी वाली फ़ाइल का नामcredentials.json
हो.
Apps Script
Apps Script एडिटर में,
appsscript.json
फ़ाइल में बदलाव करें. साथ ही, सेवा खाते का OAuth टोकन पाने के लिए, बाहरी अनुरोध करने के लिए ज़रूरी OAuth स्कोप जोड़ें:"oauthScopes": [ "https://www.googleapis.com/auth/script.external_request" ]
नीचे दिए गए कोड को अपने Apps Script प्रोजेक्ट में
ChatAppAuth.gs
नाम की फ़ाइल में सेव करें:// Specify the contents of the file credentials.json. const CREDENTIALS = CREDENTIALS; const SCOPE = 'https://www.googleapis.com/auth/chat.bot'; // The space to create the message in. // // Replace SPACE_NAME with a space name. // Obtain the space name from the spaces resource of Chat API, // or from a space's URL. const PARENT = 'spaces/SPACE_NAME' /** * Authenticates with Chat API using app credentials, then posts a message. */ function createMessageWithAppCredentials() { try { const service = getService_(); if (!service.hasAccess()) { console.error(service.getLastError()); return; } // Specify the message to create. const message = {'text': 'Hello world!'}; // Call Chat API with a service account to create a message. const result = Chat.Spaces.Messages.create( message, PARENT, {}, // Authenticate with the service account token. {'Authorization': 'Bearer ' + service.getAccessToken()}); // Log details about the created message. console.log(result); } catch (err) { // TODO (developer) - Handle exception. console.log('Failed to create message with error %s', err.message); } } /** * Configures the OAuth library to authenticate with the service account. */ function getService_() { return OAuth2.createService(CREDENTIALS.client_email) .setTokenUrl('https://oauth2.googleapis.com/token') .setPrivateKey(CREDENTIALS.private_key) .setIssuer(CREDENTIALS.client_email) .setSubject(CREDENTIALS.client_email) .setScope(SCOPE) .setPropertyStore(PropertiesService.getScriptProperties()); }
कोड में,
CREDENTIALS
की जगहcredentials.json
फ़ाइल का कॉन्टेंट डालें.कोड में,
SPACE_NAME
को स्पेस के नाम से बदलें. इसे Chat API मेंspaces.list
तरीके से या स्पेस के यूआरएल से पाया जा सकता है.
चौथा चरण: पूरा उदाहरण चलाएं
अपनी वर्किंग डायरेक्ट्री में, सैंपल बनाएं और उसे चलाएं:
Java
mvn compile assembly:single
java -jar target/auth-sample-app-1.0-SNAPSHOT-jar-with-dependencies.jar
Python
python3 chat_app_auth.py
Node.js
node chat_app_auth.js
Apps Script
Apps Script एडिटर में फ़ाइल ChatAppAuth.gs
खोलें और चलाएं पर क्लिक करें.
आपकी स्क्रिप्ट, Chat API को पुष्टि किया गया अनुरोध भेजती है. इसके जवाब में, Chat API, Chat ऐप्लिकेशन के तौर पर Chat स्पेस में एक मैसेज पोस्ट करता है.
उदाहरण से जुड़ी समस्या हल करना
इस सेक्शन में, इस सैंपल को चलाने की कोशिश करते समय होने वाली सामान्य समस्याओं के बारे में बताया गया है.
आपको इस ऐप्लिकेशन का इस्तेमाल करने की अनुमति नहीं है
स्क्रिप्ट चलाने पर, आपको यह गड़बड़ी का मैसेज मिल सकता है:
<HttpError 403 when requesting https://chat.googleapis.com/v1/spaces/{space}/messages?alt=json returned "You are not permitted to use this app". Details: "You are not permitted to use this app">
गड़बड़ी के इस मैसेज का मतलब है कि Chat ऐप्लिकेशन के पास, बताए गए Chat स्पेस में Chat मैसेज बनाने की अनुमति नहीं है.
गड़बड़ी ठीक करने के लिए, स्क्रिप्ट में बताए गए Chat स्पेस में Chat ऐप्लिकेशन जोड़ें.
इस कार्रवाई के लिए, एडमिन को ऐप्लिकेशन को OAuth की ज़रूरी अनुमति देनी होगी
स्क्रिप्ट चलाने पर, आपको यह गड़बड़ी दिख सकती है:
<HttpError 403 when requesting https://chat.googleapis.com/v1/spaces/{space}?alt=json returned "The administrator must grant the app the required OAuth authorization scope for this action.". Details: "The administrator must grant the app the required OAuth authorization scope for this action.">
इस गड़बड़ी के मैसेज का मतलब है कि Google Workspace एडमिन ने Chat ऐप्लिकेशन को, https://www.googleapis.com/auth/chat.app.*
से शुरू होने वाले ऑथराइज़ेशन स्कोप का इस्तेमाल करने की अनुमति अब तक नहीं दी है.
गड़बड़ी को ठीक करने के लिए:
- Google Workspace एडमिन से, Chat ऐप्लिकेशन को अनुमति देने के लिए कहें.
Chat ऐप्लिकेशन के लॉजिक में इस गड़बड़ी को ठीक करते समय, यह सूचना भेजने पर विचार करें कि
अनुरोधित कार्रवाई करने के लिए, Chat ऐप्लिकेशन को एडमिन की अनुमति चाहिए. जैसे:
To perform this action, I need approval. <https://support.google.com/a?p=chat-app-auth|Learn more>.
- अगर Google Chat API का तरीका,
https://www.googleapis.com/auth/chat.bot
अनुमति के दायरे के साथ काम करता है, तो इसका इस्तेमाल करें. इसके लिए, एडमिन की मंज़ूरी की ज़रूरत नहीं होती. यह देखने के लिए कि कोई तरीका, अनुमति के किन स्कोप के साथ काम करता है, Google Chat API के रेफ़रंस दस्तावेज़ देखें.
मिलते-जुलते विषय
- Chat API के अन्य फ़ंक्शन के बारे में जानने के लिए, Chat API के रेफ़रंस दस्तावेज़ देखें.
- अगर
https://www.googleapis.com/auth/chat.app.*
से शुरू होने वाले OAuth ऑथराइज़ेशन स्कोप का इस्तेमाल किया जा रहा है, तो जानें कि एडमिन एक बार की मंज़ूरी कैसे देते हैं.