इस पेज पर, Google Workspace Events API का इस्तेमाल करके, Google Workspace संसाधन की सदस्यता बनाने का तरीका बताया गया है. Google Workspace की सदस्यता लेने पर, आपका ऐप्लिकेशन Google Workspace इवेंट के बारे में जानकारी पा सकता है. ये इवेंट, Google Workspace संसाधन में हुए बदलावों के बारे में बताते हैं. Google Workspace Events API के साथ काम करने वाले संसाधनों और इवेंट टाइप के बारे में जानने के लिए, Google Workspace Events API की खास जानकारी देखें.
इस पेज पर, Google Workspace सदस्यता बनाने का यह तरीका बताया गया है:
- अपना एनवायरमेंट सेट अप करें.
- Google Cloud Pub/Sub विषय बनाएं और उसकी सदस्यता लें. Google Workspace इवेंट पाने के लिए, इस दस्तावेज़ को एंडपॉइंट के तौर पर इस्तेमाल करें.
Subscriptionरिसॉर्स पर, Google Workspace Events API केcreateतरीके को कॉल करें.- Google Workspace की अपनी सदस्यता की जांच करें. इससे यह पुष्टि की जा सकेगी कि आपके Pub/Sub विषय को वे इवेंट मिल रहे हैं जिनके लिए आपने सदस्यता ली है.
- इसके अलावा, यह भी कॉन्फ़िगर किया जा सकता है कि आपके ऐप्लिकेशन के लिए, इवेंट को किसी एंडपॉइंट पर कैसे पुश किया जाए. इससे आपका ऐप्लिकेशन, इवेंट को प्रोसेस कर पाएगा और अगर ज़रूरी हो, तो कार्रवाई कर पाएगा.
ज़रूरी शर्तें
Apps Script
- इस गाइड में Google Cloud CLI कमांड का इस्तेमाल करने के लिए:
- Google Cloud सीएलआई इंस्टॉल करें.
gcloudसीएलआई को शुरू करने के लिए, यह कोड चलाएं:
gcloud init
- Apps Script प्रोजेक्ट:
- Apps Script की ओर से अपने-आप बनाए गए डिफ़ॉल्ट प्रोजेक्ट के बजाय, अपने Google Cloud प्रोजेक्ट का इस्तेमाल करें.
- OAuth के लिए सहमति की स्क्रीन को कॉन्फ़िगर करने के लिए जोड़े गए सभी स्कोप के लिए, आपको अपने Apps Script प्रोजेक्ट की
appsscript.jsonफ़ाइल में भी स्कोप जोड़ने होंगे. उदाहरण के लिए, अगर आपनेchat.messagesस्कोप तय किया है, तो यह जोड़ें: Google Workspace Eventsऐडवांस सेवा को चालू करें.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
- बिलिंग की सुविधा वाला Google Cloud प्रोजेक्ट. Chat की सदस्यता के लिए, आपको अपने क्लाउड प्रोजेक्ट में Chat API भी चालू करना होगा. साथ ही, ऐप्लिकेशन का नाम, अवतार का यूआरएल, और ब्यौरा फ़ील्ड कॉन्फ़िगर करने होंगे. ज़्यादा जानकारी के लिए, Google Chat ऐप्लिकेशन बनाना लेख पढ़ें.
-
इसके लिए, पुष्टि करना और सदस्यता में हर इवेंट टाइप के लिए, अनुमति का सही दायरा होना ज़रूरी है:
- आम तौर पर, इसके लिए उपयोगकर्ता की पुष्टि करना ज़रूरी होता है. इसके लिए, ऐप्लिकेशन के लिए कॉन्फ़िगर की गई OAuth सहमति स्क्रीन का इस्तेमाल किया जाता है. सहमति स्क्रीन को कॉन्फ़िगर करते समय, आपको सदस्यता के लिए हर इवेंट टाइप को सपोर्ट करने के लिए, स्कोप तय करना होगा. सहमति वाली स्क्रीन को कॉन्फ़िगर करने और ज़रूरी स्कोप की पहचान करने के लिए, स्कोप चुनें लेख पढ़ें.
- Chat ऐप्लिकेशन के तौर पर किसी Chat इवेंट की सदस्यता लेने के लिए, ऐप्लिकेशन की पुष्टि करना और एडमिन से सिर्फ़ एक बार अनुमति लेना ज़रूरी है.
Python
- Python 3.6 या इसके बाद का वर्शन
- पैकेज मैनेजमेंट टूल pip
- Python के लिए Google की नई क्लाइंट लाइब्रेरी. इन्हें इंस्टॉल या अपडेट करने के लिए, अपने कमांड-लाइन इंटरफ़ेस में यह कमांड चलाएं:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- इस गाइड में Google Cloud CLI कमांड का इस्तेमाल करने के लिए:
- Google Cloud सीएलआई इंस्टॉल करें.
gcloudसीएलआई को शुरू करने के लिए, यह कोड चलाएं:
gcloud init
- बिलिंग की सुविधा वाला Google Cloud प्रोजेक्ट. Chat की सदस्यता के लिए, आपको अपने क्लाउड प्रोजेक्ट में Chat API भी चालू करना होगा. साथ ही, ऐप्लिकेशन का नाम, अवतार का यूआरएल, और ब्यौरा फ़ील्ड कॉन्फ़िगर करने होंगे. ज़्यादा जानकारी के लिए, Google Chat ऐप्लिकेशन बनाना लेख पढ़ें.
-
इसके लिए, पुष्टि करना और सदस्यता में हर इवेंट टाइप के लिए, अनुमति का सही दायरा होना ज़रूरी है:
- आम तौर पर, इसके लिए उपयोगकर्ता की पुष्टि करना ज़रूरी होता है. इसके लिए, ऐप्लिकेशन के लिए कॉन्फ़िगर की गई OAuth सहमति स्क्रीन का इस्तेमाल किया जाता है. सहमति स्क्रीन को कॉन्फ़िगर करते समय, आपको सदस्यता के लिए हर इवेंट टाइप को सपोर्ट करने के लिए, स्कोप तय करना होगा. सहमति वाली स्क्रीन को कॉन्फ़िगर करने और ज़रूरी स्कोप की पहचान करने के लिए, स्कोप चुनना लेख पढ़ें.
- Chat ऐप्लिकेशन के तौर पर किसी Chat इवेंट की सदस्यता लेने के लिए, ऐप्लिकेशन की पुष्टि करना और एडमिन से सिर्फ़ एक बार अनुमति लेना ज़रूरी है.
अपना एनवायरमेंट सेट अप करने का तरीका
इस सेक्शन में, Google Workspace की सदस्यता बनाने से पहले, अपने एनवायरमेंट को सेट अप करने का तरीका बताया गया है.
Google Workspace Events API और Google Cloud Pub/Sub API को चालू करें
Google API का इस्तेमाल करने से पहले, आपको उन्हें Google Cloud प्रोजेक्ट में चालू करना होगा. एक ही Google Cloud प्रोजेक्ट में, एक या उससे ज़्यादा एपीआई चालू किए जा सकते हैं.Google Cloud कंसोल
Google Cloud Console में, अपने ऐप्लिकेशन के लिए Google Cloud प्रोजेक्ट खोलें. इसके बाद, Google Workspace Events API और Pub/Sub API चालू करें:
gcloud
अपनी वर्किंग डायरेक्ट्री में, अपने Google खाते में साइन इन करें:
gcloud auth loginअपने प्रोजेक्ट को ऐप्लिकेशन के क्लाउड प्रोजेक्ट पर सेट करें:
gcloud config set project PROJECT_IDPROJECT_IDकी जगह, अपने ऐप्लिकेशन के क्लाउड प्रोजेक्ट का प्रोजेक्ट आईडी डालें.Google Workspace Events API और Google Cloud Pub/Sub API चालू करें:
gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com
OAuth क्लाइंट आईडी क्रेडेंशियल बनाना
OAuth क्लाइंट आईडी बनाने के तरीके के बारे में खास निर्देश पाने के लिए, ऐप्लिकेशन का टाइप चुनें:
वेब ऐप्लिकेशन
- Google Cloud Console में, मेन्यू > Google Auth platform > क्लाइंट पर जाएं.
- क्लाइंट बनाएं पर क्लिक करें.
- ऐप्लिकेशन का टाइप > वेब ऐप्लिकेशन पर क्लिक करें.
- नाम फ़ील्ड में, क्रेडेंशियल का नाम डालें. यह नाम सिर्फ़ Google Cloud Console में दिखता है.
- अपने ऐप्लिकेशन से जुड़े यूआरआई जोड़ें:
- क्लाइंट-साइड ऐप्लिकेशन (JavaScript)–अनुमति वाले JavaScript ऑरिजिन में जाकर, यूआरआई जोड़ें पर क्लिक करें. इसके बाद, ब्राउज़र के अनुरोधों के लिए इस्तेमाल किया जाने वाला यूआरआई डालें. इससे उन डोमेन की पहचान होती है जिनसे आपका ऐप्लिकेशन, OAuth 2.0 सर्वर को एपीआई अनुरोध भेज सकता है.
- सर्वर-साइड ऐप्लिकेशन (Java, Python वगैरह)–अनुमति वाले रीडायरेक्ट यूआरआई में जाकर, यूआरआई जोड़ें पर क्लिक करें. इसके बाद, वह एंडपॉइंट यूआरआई डालें जिस पर OAuth 2.0 सर्वर जवाब भेज सकता है.
- बनाएं पर क्लिक करें.
नया क्रेडेंशियल, OAuth 2.0 क्लाइंट आईडी में दिखता है.
ध्यान दें कि क्लाइंट सीक्रेट का इस्तेमाल वेब ऐप्लिकेशन के लिए नहीं किया जाता.
Android
- Google Cloud Console में, मेन्यू > Google Auth platform > क्लाइंट पर जाएं.
- क्लाइंट बनाएं पर क्लिक करें.
- ऐप्लिकेशन का टाइप > Android पर क्लिक करें.
- नाम फ़ील्ड में, क्रेडेंशियल का नाम डालें. यह नाम सिर्फ़ Google Cloud Console में दिखता है.
- पैकेज का नाम फ़ील्ड में, अपनी
AndroidManifest.xmlफ़ाइल से पैकेज का नाम डालें. - SHA-1 सर्टिफ़िकेट फ़िंगरप्रिंट फ़ील्ड में, जनरेट किया गया SHA-1 सर्टिफ़िकेट फ़िंगरप्रिंट डालें.
- बनाएं पर क्लिक करें.
नया क्रेडेंशियल, "OAuth 2.0 क्लाइंट आईडी" में दिखता है.
iOS
- Google Cloud Console में, मेन्यू > Google Auth platform > क्लाइंट पर जाएं.
- क्लाइंट बनाएं पर क्लिक करें.
- ऐप्लिकेशन का टाइप > iOS पर क्लिक करें.
- नाम फ़ील्ड में, क्रेडेंशियल का नाम डालें. यह नाम सिर्फ़ Google Cloud Console में दिखता है.
- बंडल आईडी फ़ील्ड में, बंडल आइडेंटिफ़ायर डालें. यह ऐप्लिकेशन की
Info.plistफ़ाइल में मौजूद होता है. - ज़रूरी नहीं: अगर आपका ऐप्लिकेशन Apple App Store में दिखता है, तो App Store का आईडी डालें.
- ज़रूरी नहीं: टीम आईडी फ़ील्ड में, Apple की ओर से जनरेट की गई और आपकी टीम को असाइन की गई 10 वर्णों वाली यूनीक स्ट्रिंग डालें.
- बनाएं पर क्लिक करें.
नया क्रेडेंशियल, "OAuth 2.0 क्लाइंट आईडी" में दिखता है.
Chrome ऐप्लिकेशन
- Google Cloud Console में, मेन्यू > Google Auth platform > क्लाइंट पर जाएं.
- क्लाइंट बनाएं पर क्लिक करें.
- ऐप्लिकेशन टाइप > Chrome एक्सटेंशन पर क्लिक करें.
- नाम फ़ील्ड में, क्रेडेंशियल का नाम डालें. यह नाम सिर्फ़ Google Cloud Console में दिखता है.
- आइटम आईडी फ़ील्ड में, अपने ऐप्लिकेशन का 32 वर्णों वाला यूनीक आईडी स्ट्रिंग डालें. आपको यह आईडी वैल्यू, अपने ऐप्लिकेशन के Chrome Web Store के यूआरएल और Chrome Web Store Developer Dashboard में मिल सकती है.
- बनाएं पर क्लिक करें.
नया क्रेडेंशियल, "OAuth 2.0 क्लाइंट आईडी" में दिखता है.
डेस्कटॉप ऐप्लिकेशन
- Google Cloud Console में, मेन्यू > Google Auth platform > क्लाइंट पर जाएं.
- क्लाइंट बनाएं पर क्लिक करें.
- ऐप्लिकेशन का टाइप > डेस्कटॉप ऐप्लिकेशन पर क्लिक करें.
- नाम फ़ील्ड में, क्रेडेंशियल का नाम डालें. यह नाम सिर्फ़ Google Cloud Console में दिखता है.
- बनाएं पर क्लिक करें.
नया क्रेडेंशियल, "OAuth 2.0 क्लाइंट आईडी" में दिखता है.
टीवी और सीमित इनपुट वाले डिवाइस
- Google Cloud Console में, मेन्यू > Google Auth platform > क्लाइंट पर जाएं.
- क्लाइंट बनाएं पर क्लिक करें.
- ऐप्लिकेशन का टाइप > टीवी और सीमित इनपुट वाले डिवाइस पर क्लिक करें.
- नाम फ़ील्ड में, क्रेडेंशियल का नाम डालें. यह नाम सिर्फ़ Google Cloud Console में दिखता है.
- बनाएं पर क्लिक करें.
नया क्रेडेंशियल, "OAuth 2.0 क्लाइंट आईडी" में दिखता है.
Universal Windows Platform (यूडब्ल्यूपी)
- Google API Console में, मेन्यू > > क्लाइंट पर जाएं.
- क्लाइंट बनाएं पर क्लिक करें.
- ऐप्लिकेशन का टाइप > Universal Windows Platform (UWP) पर क्लिक करें.
- "नाम" फ़ील्ड में, क्रेडेंशियल के लिए कोई नाम टाइप करें. यह नाम सिर्फ़ Google API Console में दिखता है.
- "स्टोर आईडी" फ़ील्ड में, अपने ऐप्लिकेशन का यूनीक, 12 वर्णों वाला Microsoft Store आईडी डालें. यह आईडी, आपको अपने ऐप्लिकेशन के Microsoft Store के यूआरएल और Partner Center में मिलेगा.
- बनाएं पर क्लिक करें.
नया क्रेडेंशियल, "OAuth 2.0 क्लाइंट आईडी" में दिखता है.
क्लाइंट सीक्रेट वाली JSON फ़ाइल डाउनलोड करें
क्लाइंट सीक्रेट फ़ाइल, OAuth क्लाइंट आईडी क्रेडेंशियल का JSON फ़ॉर्मैट होता है. क्रेडेंशियल देते समय, आपका ऐप्लिकेशन इसे रेफ़रंस कर सकता है.
Google API Console में, मेन्यू > एपीआई और सेवाएं > क्रेडेंशियल पर जाएं.
OAuth 2.0 क्लाइंट आईडी में जाकर, बनाए गए क्लाइंट आईडी पर क्लिक करें.
JSON फ़ाइल डाउनलोड करें पर क्लिक करें.
फ़ाइल को
credentials.jsonके तौर पर सेव करें.
Pub/Sub विषय बनाना और उसकी सदस्यता लेना
इस सेक्शन में, Pub/Sub विषय और विषय की सदस्यता बनाई जाती है. आपका Pub/Sub विषय, सूचना देने वाले एंडपॉइंट के तौर पर काम करता है. इस एंडपॉइंट पर, Google Workspace की आपकी सदस्यता को इवेंट मिलते हैं.
Pub/Sub विषयों को बनाने और मैनेज करने के बारे में ज़्यादा जानने के लिए, Pub/Sub के दस्तावेज़ पढ़ें.
Pub/Sub विषय बनाने और उसकी सदस्यता लेने के लिए:
Google API (एपीआई) कंसोल
Google API Console में, Pub/Sub पेज पर जाएं:
पक्का करें कि आपके ऐप्लिकेशन के लिए Cloud प्रोजेक्ट चुना गया हो.
विषय बनाएं पर क्लिक करें और यह तरीका अपनाएं:
- अपने विषय का नाम डालें. जैसे,
workspace-events-topic. - डिफ़ॉल्ट सदस्यता जोड़ें को चुना रहने दें. Pub/Sub, इस डिफ़ॉल्ट सदस्यता का नाम आपके विषय के नाम के जैसा ही रखता है. जैसे,
workspace-events-topic-sub. - ज़रूरी नहीं: अपने विषय के लिए, अन्य प्रॉपर्टी अपडेट करें या कॉन्फ़िगर करें.
- अपने विषय का नाम डालें. जैसे,
बनाएं पर क्लिक करें. आपके विषय का पूरा नाम इस फ़ॉर्मैट में होता है:
projects/PROJECT_ID/topics/TOPIC_ID. इस पूरे नाम का इस्तेमाल अगले चरण में करें.Pub/Sub मैसेज को अपने विषय पर पब्लिश करने का ऐक्सेस दें:
- अपने विषय के पेज पर, साइड पैनल में जाएं और अनुमतियां टैब खोलें.
- प्रिंसिपल जोड़ें पर क्लिक करें.
- मुख्य खाते जोड़ें फ़ील्ड में, उस Google Workspace ऐप्लिकेशन का सेवा खाता जोड़ें जो आपकी सदस्यता के लिए इवेंट डिलीवर करता है:
- चैट इवेंट के लिए:
- Chat ऐप्लिकेशन (Google Workspace ऐड-ऑन के तौर पर बनाए गए ऐप्लिकेशन, जो Chat की सुविधाओं को बढ़ाते हैं) के लिए, Chat API कॉन्फ़िगरेशन पेज पर सेवा खाते का ईमेल पता इस्तेमाल करें. ज़्यादा जानने के लिए, Pub/Sub का इस्तेमाल करने वाला Google Chat ऐप्लिकेशन बनाना लेख पढ़ें.
- Google Workspace के ऐड-ऑन के तौर पर उपलब्ध नहीं कराए गए Chat ऐप्लिकेशन के लिए,
chat-api-push@system.gserviceaccount.comका इस्तेमाल करें. ज़्यादा जानने के लिए, Pub/Sub का इस्तेमाल करने वाला Google Chat ऐप्लिकेशन बनाना लेख पढ़ें.
- Drive के इवेंट के लिए,
drive-api-event-push@system.gserviceaccount.com. - Meet इवेंट के लिए,
meet-api-event-push@system.gserviceaccount.com.
- चैट इवेंट के लिए:
- भूमिकाएं असाइन करें मेन्यू में जाकर,
Pub/Sub Publisherको चुनें. - सेव करें पर क्लिक करें. आपके विषय के लिए अनुमतियों को अपडेट होने में कुछ मिनट लग सकते हैं.
gcloud
अपने क्लाउड प्रोजेक्ट में, यह कमांड चलाकर कोई विषय बनाएं:
gcloud pubsub topics create TOPIC_IDTOPIC_IDकी जगह अपने विषय के लिए यूनीक आईडी डालें. जैसे,workspace-events-topic.जवाब में, विषय का पूरा नाम दिखता है. इसे
projects/PROJECT_ID/topics/TOPIC_IDके तौर पर फ़ॉर्मैट किया जाता है. नाम नोट करें. साथ ही, पक्का करें कि PROJECT_ID एट्रिब्यूट की वैल्यू, आपके ऐप्लिकेशन के लिए Cloud प्रोजेक्ट आईडी हो. अगले चरण में विषय के नाम का इस्तेमाल करें. साथ ही, बाद में Google Workspace की सदस्यता बनाने के लिए भी इसका इस्तेमाल करें.अपने विषय पर मैसेज पब्लिश करने का ऐक्सेस दें:
gcloud pubsub topics add-iam-policy-binding TOPIC_NAME --member='serviceAccount:GOOGLE_WORKSPACE_APPLICATION' --role='roles/pubsub.publisher'इनकी जगह ये डालें:
TOPIC_NAME: विषय का पूरा नाम, जो पिछले चरण का आउटपुट है. इसेprojects/PROJECT_ID/topics/TOPIC_IDके तौर पर फ़ॉर्मैट किया गया है.GOOGLE_WORKSPACE_APPLICATION: यह Google Workspace का वह ऐप्लिकेशन है जो आपकी सदस्यता के लिए इवेंट डिलीवर करेगा:- Chat से इवेंट पाने के लिए, इनमें से किसी एक सेवा खाते का इस्तेमाल करें:
- Chat ऐप्लिकेशन (Google Workspace ऐड-ऑन के तौर पर बनाए गए ऐप्लिकेशन, जो Chat की सुविधाओं को बढ़ाते हैं) के लिए, Chat API कॉन्फ़िगरेशन पेज पर सेवा खाते का ईमेल पता इस्तेमाल करें. ज़्यादा जानने के लिए, Pub/Sub का इस्तेमाल करने वाला Google Chat ऐप्लिकेशन बनाना लेख पढ़ें.
- ऐसे Chat ऐप्लिकेशन के लिए
chat-api-push@system.gserviceaccount.comका इस्तेमाल करें जो ऐड-ऑन नहीं हैं. ज़्यादा जानने के लिए, Pub/Sub का इस्तेमाल करने वाला Google Chat ऐप्लिकेशन बनाना लेख पढ़ें.
- Drive से इवेंट पाने के लिए,
drive-api-event-push@system.gserviceaccount.comका इस्तेमाल करें. - Meet से इवेंट पाने के लिए,
meet-api-event-push@system.gserviceaccount.comका इस्तेमाल करें.
- Chat से इवेंट पाने के लिए, इनमें से किसी एक सेवा खाते का इस्तेमाल करें:
आपके विषय के लिए अनुमतियों को अपडेट होने में कुछ मिनट लग सकते हैं.
विषय के लिए Pub/Sub सदस्यता बनाएं:
gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAMEइनकी जगह ये डालें:
SUBSCRIPTION_NAME: सदस्यता का नाम, जैसे किworkspace-events-subscription.TOPIC_NAME: आपके विषय का वह नाम जिसे आपने पिछले चरण में बनाया था.
Google Workspace के किसी संसाधन की सदस्यता लेना
इस सेक्शन में, आपको उस Google Workspace संसाधन की सदस्यता लेनी होती है जिसके इवेंट आपको मॉनिटर करने हैं.
टारगेट संसाधन चुनें और उसकी पहचान करें
Google Workspace की सदस्यता में, टारगेट रिसोर्स वह Google Workspace रिसोर्स होता है जिसे इवेंट के लिए मॉनिटर किया जाता है. टारगेट रिसोर्स को सदस्यता के targetResource फ़ील्ड में दिखाया जाता है. इसे पूरे रिसोर्स के नाम का इस्तेमाल करके फ़ॉर्मैट किया जाता है. उदाहरण के लिए, अगर किसी सदस्यता के ज़रिए चैट स्पेस (spaces/AAAABBBBBBB) पर नज़र रखी जाती है, तो targetResource की वैल्यू //chat.googleapis.com/spaces/AAAABBBBBBB होती है.
Chat के लिए टारगेट रिसॉर्स की पहचान करना
| टारगेट रिसॉर्स | फ़ॉर्मैट | सीमाएं |
|---|---|---|
| स्पेस |
यहां SPACE, Chat API |
सदस्यता की पुष्टि करने वाला Chat उपयोगकर्ता या Chat ऐप्लिकेशन, Google Workspace या Google खाते से स्पेस का सदस्य होना चाहिए. इनके साथ काम करता है: |
| किसी उपयोगकर्ता के सभी स्पेस |
|
सदस्यता को सिर्फ़ उन स्पेस के इवेंट मिलते हैं जिनमें उपयोगकर्ता, Google Workspace या Google खाते से सदस्य है. सिर्फ़ उपयोगकर्ता की पुष्टि की सुविधा काम करती है. |
| उपयोगकर्ता |
यहां USER, Chat API |
सदस्यता को सिर्फ़ उस उपयोगकर्ता के बारे में इवेंट मिलते हैं जिसने सदस्यता ली है. कोई उपयोगकर्ता, अन्य उपयोगकर्ताओं की ओर से सदस्यता को अनुमति नहीं दे सकता. सिर्फ़ उपयोगकर्ता की पुष्टि की सुविधा काम करती है. |
| ग्राहक ( डेवलपर के लिए झलक) |
यहां CUSTOMER ग्राहक आईडी है. Chat ऐप्लिकेशन के कस्टमर डोमेन के लिए, |
सदस्यता को, ग्राहक के डोमेन से मैनेज किए जाने वाले सभी स्पेस और उपयोगकर्ताओं के इवेंट मिलते हैं. सिर्फ़ एडमिन की मंज़ूरी के साथ ऐप्लिकेशन की पुष्टि करने की सुविधा काम करती है. |
Drive के लिए टारगेट संसाधन की पहचान करना
| टारगेट रिसॉर्स | फ़ॉर्मैट | सीमाएं (अगर लागू हो) |
|---|---|---|
| फ़ाइल |
//drive.googleapis.com/files/FILE
यहां FILE, Drive API |
सदस्यता को अनुमति देने वाले उपयोगकर्ता के पास, सदस्यता से जुड़ी फ़ाइल पर अनुमति होनी चाहिए. यह अनुमति, इवेंट की सदस्यता लेने से जुड़ी होनी चाहिए. |
| शेयर की गई ड्राइव |
//drive.googleapis.com/drives/DRIVE
यहां DRIVE, Drive API |
सदस्यता को सिर्फ़ शेयर की गई ड्राइव में मौजूद उन आइटम के इवेंट मिलते हैं जिनमें उपयोगकर्ता, Google Workspace खाते या Google खाते से सदस्य है. |
Meet के लिए टारगेट रिसॉर्स की पहचान करना
| टारगेट रिसॉर्स | फ़ॉर्मैट | सीमाएं (अगर लागू हो) |
|---|---|---|
| मीटिंग स्पेस | //meet.googleapis.com/spaces/SPACE
यहां SPACE, Meet REST API |
|
| उपयोगकर्ता | //cloudidentity.googleapis.com/users/USER
यहां USER, Meet REST API |
इस सदस्यता को उन सभी मीटिंग स्पेस के बारे में इवेंट मिलते हैं जहां उपयोगकर्ता मीटिंग स्पेस का मालिक है. आम तौर पर, मीटिंग स्पेस का मालिक ही मीटिंग स्पेस से जुड़े Google Calendar इवेंट का आयोजक होता है. |
Google Workspace की सदस्यता बनाना
सदस्यता बनाने के लिए, Google Workspace Events API के subscriptions.create तरीके का इस्तेमाल करके, Subscription संसाधन बनाएं.
यहां दिए गए फ़ील्ड में जानकारी भरें:
targetResource: यह वह Google Workspace है जिसकी पहचान आपने पिछले सेक्शन में की थी. इसे इसके पूरे संसाधन के नाम का इस्तेमाल करके फ़ॉर्मैट किया गया है.eventTypes: एक या उससे ज़्यादा इवेंट टाइप का कलेक्शन. आपको इस कलेक्शन में मौजूद इवेंट टाइप के बारे में सूचनाएं मिलेंगी. उदाहरण के लिए, अगर आपके ऐप्लिकेशन को सिर्फ़ Chat स्पेस में पोस्ट किए गए नए मैसेज के बारे में जानना है, तो आपका ऐप्लिकेशन सिर्फ़ बनाए गए मैसेज से जुड़े इवेंट की सदस्यता ले सकता है.notificationEndpoint: यह एक सूचना एंडपॉइंट है. यहां Google Workspace की आपकी सदस्यता से जुड़े इवेंट डिलीवर किए जाते हैं. पिछले सेक्शन में बनाए गए Pub/Sub विषय का इस्तेमाल करें.payloadOptions: इवेंट पेलोड में कितना संसाधन डेटा शामिल करना है, यह तय करने के विकल्प. इस कॉन्फ़िगरेशन से, आपकी सदस्यता के खत्म होने के समय पर असर पड़ता है. ज़्यादा जानने के लिए, इवेंट का डेटा लेख पढ़ें.
Google Workspace की सदस्यता बनाने के लिए:
Apps Script
अपने Apps Script प्रोजेक्ट में,
createSubscriptionनाम की एक नई स्क्रिप्ट फ़ाइल बनाएं और उसमें यह कोड जोड़ें:function createSubscription() { // The Google Workspace resource to monitor for events. const targetResource = 'TARGET_RESOURCE'; // The types of events to receive. const eventTypes = [EVENT_TYPES]; // The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. const pubsubTopic = 'TOPIC_NAME'; // Whether to include resource data or not. const resourceData = RESOURCE_DATA; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.create({ targetResource: targetResource, eventTypes: eventTypes, notificationEndpoint: { pubsubTopic: pubsubTopic, }, payloadOptions: { includeResource: resourceData } }); console.log(response); }इनकी जगह ये डालें:
TARGET_RESOURCE: वह Google Workspace संसाधन जिसकी सदस्यता ली जा रही है. इसे संसाधन के पूरे नाम के तौर पर फ़ॉर्मैट किया जाता है. उदाहरण के लिए, अगर आपको स्पेस आईडीAAAABBBBवाले किसी Chat स्पेस की सदस्यता लेनी है, तो//chat.googleapis.com/spaces/AAAABBBBका इस्तेमाल करें.EVENT_TYPES: टारगेट किए गए संसाधन में सदस्यता लेने के लिए, एक या उससे ज़्यादा इवेंट टाइप. इसे स्ट्रिंग के ऐरे के तौर पर फ़ॉर्मैट करें. जैसे,'google.workspace.chat.message.v1.created'.TOPIC_NAME: Pub/Sub विषय का पूरा नाम, जिसे आपने अपने क्लाउड प्रोजेक्ट में बनाया है. इसेprojects/PROJECT_ID/topics/TOPIC_IDके तौर पर फ़ॉर्मैट किया गया है.RESOURCE_DATA: यह एक बूलियन है. इससे यह पता चलता है कि सदस्यता में पेलोड में मौजूद संसाधन का डेटा शामिल है या नहीं:True: इसमें सभी संसाधन का डेटा शामिल होता है. यह तय करने के लिए कि कौनसे फ़ील्ड शामिल किए जाएं,fieldMaskफ़ील्ड जोड़ें. साथ ही, बदले गए संसाधन के लिए कम से कम एक फ़ील्ड तय करें. सिर्फ़ Chat के संसाधनों की सदस्यताएं, संसाधन का डेटा शामिल करने की सुविधा के साथ काम करती हैं.False: इसमें संसाधन का डेटा शामिल नहीं होता.
Google Workspace की सदस्यता बनाने के लिए, अपने Apps Script प्रोजेक्ट में
createSubscriptionफ़ंक्शन चलाएं.
Python
अपनी वर्किंग डायरेक्ट्री में,
create_subscription.pyनाम की एक फ़ाइल बनाएं और यह कोड जोड़ें:"""Create subscription.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Specify required scopes. SCOPES = [SCOPES] # Authenticate with Google Workspace and get user authentication. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) CREDENTIALS = flow.run_local_server() # The Google Workspace resource to monitor for events. TARGET_RESOURCE = 'TARGET_RESOURCE' # The types of events to receive. EVENT_TYPES = [EVENT_TYPES] # The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. TOPIC = 'TOPIC_NAME' # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) BODY = { 'target_resource': TARGET_RESOURCE, 'event_types': EVENT_TYPES, 'notification_endpoint': {'pubsub_topic': TOPIC}, 'payload_options': {'include_resource': RESOURCE_DATA}, } response = service.subscriptions().create(body=BODY).execute() print(response)इनकी जगह ये डालें:
SCOPES: एक या उससे ज़्यादा OAuth स्कोप, जो सदस्यता के लिए हर इवेंट टाइप के साथ काम करते हैं. इसे स्ट्रिंग के ऐरे के तौर पर फ़ॉर्मैट किया जाता है. एक से ज़्यादा स्कोप की सूची बनाने के लिए, उन्हें कॉमा लगाकर अलग करें. उदाहरण के लिए,'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'.TARGET_RESOURCE: वह Google Workspace संसाधन जिसकी सदस्यता ली जा रही है. इसे संसाधन के पूरे नाम के तौर पर फ़ॉर्मैट किया जाता है. उदाहरण के लिए, अगर आपको स्पेस आईडीAAAABBBBवाले किसी Chat स्पेस की सदस्यता लेनी है, तो//chat.googleapis.com/spaces/AAAABBBBका इस्तेमाल करें.EVENT_TYPES: टारगेट किए गए संसाधन में सदस्यता लेने के लिए, एक या उससे ज़्यादा इवेंट टाइप. इसे स्ट्रिंग के ऐरे के तौर पर फ़ॉर्मैट करें. जैसे,'google.workspace.chat.message.v1.created'.TOPIC_NAME: Pub/Sub विषय का पूरा नाम, जिसे आपने अपने क्लाउड प्रोजेक्ट में बनाया है. इसेprojects/PROJECT_ID/topics/TOPIC_IDके तौर पर फ़ॉर्मैट किया गया है.RESOURCE_DATA: यह एक बूलियन है. इससे यह पता चलता है कि सदस्यता में पेलोड में मौजूद संसाधन का डेटा शामिल है या नहीं:True: इसमें सभी संसाधन का डेटा शामिल होता है. यह तय करने के लिए कि कौनसे फ़ील्ड शामिल किए जाएं,fieldMaskफ़ील्ड जोड़ें. साथ ही, बदले गए संसाधन के लिए कम से कम एक फ़ील्ड तय करें. सिर्फ़ Chat के संसाधनों की सदस्यताएं, संसाधन का डेटा शामिल करने की सुविधा के साथ काम करती हैं.False: इसमें संसाधन का डेटा शामिल नहीं होता.
Google Workspace की सदस्यता बनाने के लिए, अपने टर्मिनल में यह कमांड चलाएं:
python3 create_subscription.py
Google Workspace Events API, पूरी हो चुकी ज़्यादा समय तक चलने वाली
कार्रवाई दिखाता है. इसमें, आपके बनाए गए Subscription संसाधन का इंस्टेंस होता है.
Google Workspace की सदस्यता को आज़माना
यह जांचने के लिए कि आपको Google Workspace इवेंट मिल रहे हैं या नहीं, किसी इवेंट को ट्रिगर करें और Pub/Sub सदस्यता में मैसेज पुल करें.
Google Workspace की सदस्यता को आज़माने के लिए:
Google API (एपीआई) कंसोल
Google Workspace सदस्यता की टारगेट की गई संसाधन में एक या उससे ज़्यादा तरह के इवेंट ट्रिगर करें. उदाहरण के लिए, अगर आपने किसी Chat स्पेस में नए मैसेज पाने के लिए सदस्यता ली है, तो उस स्पेस में कोई मैसेज पोस्ट करें.
Google API Console में, Pub/Sub पेज पर जाएं:
पक्का करें कि आपके ऐप्लिकेशन के लिए Cloud प्रोजेक्ट चुना गया हो.
Pub/Sub मेन्यू में, सदस्यताएं पर क्लिक करें.
टेबल में, अपने विषय के लिए Pub/Sub सदस्यता ढूंढें और सदस्यता के नाम पर क्लिक करें.
मैसेज टैब पर क्लिक करें.
पुल करें पर क्लिक करें. किसी इवेंट के लिए Pub/Sub मैसेज जनरेट होने में कुछ मिनट लग सकते हैं.
gcloud
Google Workspace सदस्यता की टारगेट की गई संसाधन में, एक या उससे ज़्यादा तरह के इवेंट ट्रिगर करें. उदाहरण के लिए, अगर आपने किसी चैट स्पेस में नए मैसेज पाने के लिए सदस्यता ली है, तो उस स्पेस में कोई मैसेज पोस्ट करें.
यह कमांड चलाएं:
gcloud pubsub subscriptions pull PUBSUB_SUBSCRIPTION_NAME --format=json --limit=MESSAGE_COUNT --auto-ackइनकी जगह ये डालें:
PUBSUB_SUBSCRIPTION_NAME: आपकी Pub/Sub सदस्यता का पूरा नाम. इसेprojects/PROJECT_ID/subscriptions/SUBSCRIPTION_IDके तौर पर फ़ॉर्मैट किया गया है.MESSAGE_COUNT: Pub/Sub से पुल किए जाने वाले मैसेज की ज़्यादा से ज़्यादा संख्या.
किसी इवेंट को Pub/Sub मैसेज जनरेट करने में कुछ मिनट लग सकते हैं.
आपके ट्रिगर किए गए हर Google Workspace इवेंट के लिए, Pub/Sub सदस्यता पर एक मैसेज डिलीवर किया जाता है. इसमें इवेंट की जानकारी होती है. ज़्यादा जानकारी के लिए, Google Cloud Pub/Sub मैसेज के तौर पर इवेंट पाना लेख पढ़ें.
कॉन्फ़िगर करें कि आपका ऐप्लिकेशन इवेंट कैसे रिसीव करता है
आपने जो Pub/Sub सदस्यता बनाई है वह पुल-आधारित है. Pub/Sub सदस्यता की जांच करने के बाद, डिलीवरी टाइप को अपडेट किया जा सकता है. इससे यह बदला जा सकता है कि आपका ऐप्लिकेशन इवेंट कैसे पाएं. उदाहरण के लिए, Pub/Sub सदस्यता को पुश डिलीवरी टाइप के लिए कॉन्फ़िगर किया जा सकता है, ताकि आपका ऐप्लिकेशन सीधे ऐप्लिकेशन एंडपॉइंट पर इवेंट पा सके.
Pub/Sub सदस्यता को कॉन्फ़िगर करने के बारे में जानने के लिए, Pub/Sub के दस्तावेज़ देखें.
Google Chat ऐप्लिकेशन के तौर पर, Chat स्पेस में होने वाले इवेंट की सदस्यता लेना
Chat ऐप्लिकेशन के तौर पर, Chat इवेंट की सदस्यता ली जा सकती है. इसके लिए, आपको उस स्पेस में जाना होगा जिसमें Chat ऐप्लिकेशन की सदस्यता है. चैट ऐप्लिकेशन, उपयोगकर्ता के इवेंट की सदस्यता नहीं ले सकते.
Google Workspace Events API को कॉल करने वाली स्क्रिप्ट लिखना
ऐप्लिकेशन की पुष्टि करने और एडमिन की मंज़ूरी लेकर, Chat स्पेस के इवेंट की सदस्यता लेने का तरीका यहां बताया गया है:
- अगर ज़रूरी हो, तो Chat ऐप्लिकेशन बनाएं.
Chat के किसी संसाधन की सदस्यता ली हो, लेकिन:
- उपयोगकर्ता की पुष्टि करने के बजाय, Chat ऐप्लिकेशन के तौर पर पुष्टि करें. इसके लिए, एडमिन से एक बार मंज़ूरी लेनी होगी.
अनुमति के ऐसे स्कोप तय करें जिनसे Chat ऐप्लिकेशन को Chat इवेंट की सदस्यता लेने की अनुमति मिलती हो. अनुमति पाने के ये लिंक हमेशा
chat.appसे शुरू होते हैं. इनमें ये शामिल हैं:https://www.googleapis.com/auth/chat.app.memberships: Chat स्पेस के सदस्यों के इवेंट की सदस्यता लें.https://www.googleapis.com/auth/chat.app.memberships.readonly: Chat स्पेस के सदस्यों के इवेंट की सदस्यता लें.https://www.googleapis.com/auth/chat.app.messages.readonly: Chat स्पेस में मैसेज और रिएक्शन से जुड़े इवेंट की सदस्यता लें.https://www.googleapis.com/auth/chat.app.spaces: Chat स्पेस के इवेंट की सदस्यता लें.https://www.googleapis.com/auth/chat.app.spaces.readonly: Chat स्पेस के इवेंट की सदस्यता लें.
यहां दिए गए कोड सैंपल में, किसी चैट स्पेस में मैसेज इवेंट की सदस्यता लेने का तरीका बताया गया है:
Python
"""Create subscription."""
from google.oauth2 import service_account
from apiclient.discovery import build
# Specify required scopes.
SCOPES = ['https://www.googleapis.com/auth/chat.app.messages.readonly']
# Specify service account details.
CREDENTIALS = (
service_account.Credentials.from_service_account_file('credentials.json')
.with_scopes(SCOPES)
)
# The Google Workspace resource to monitor for events.
TARGET_RESOURCE = '//chat.googleapis.com/spaces/SPACE_ID'
# The types of events to receive.
EVENT_TYPES = [
'google.workspace.chat.message.v1.created',
'google.workspace.chat.message.v1.updated',
'google.workspace.chat.message.v1.deleted',
]
# The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic.
TOPIC = 'TOPIC_NAME'
# Call the Workspace Events API using the service endpoint.
service = build(
'workspaceevents',
'v1',
credentials=CREDENTIALS,
)
BODY = {
'target_resource': TARGET_RESOURCE,
'event_types': EVENT_TYPES,
'notification_endpoint': {'pubsub_topic': TOPIC},
'payload_options': {'include_resource': RESOURCE_DATA},
}
response = service.subscriptions().create(body=BODY).execute()
print(response)
इनकी जगह ये डालें:
SPACE_ID: स्पेस का नाम. इसे Chat API मेंspaces.listतरीके से या स्पेस के यूआरएल से पाया जा सकता है.TOPIC_NAME: Pub/Sub विषय का पूरा नाम, जिसे आपने अपने क्लाउड प्रोजेक्ट में बनाया है. इसेprojects/PROJECT_ID/topics/TOPIC_IDके तौर पर फ़ॉर्मैट किया गया है.RESOURCE_DATA: यह एक बूलियन है. इससे यह पता चलता है कि सदस्यता में पेलोड में मौजूद संसाधन का डेटा शामिल है या नहीं:True: इसमें सभी संसाधन का डेटा शामिल होता है. यह तय करने के लिए कि कौनसे फ़ील्ड शामिल किए जाएं,fieldMaskफ़ील्ड जोड़ें. साथ ही, बदले गए संसाधन के लिए कम से कम एक फ़ील्ड तय करें. सिर्फ़ Chat के संसाधनों की सदस्यताएं, संसाधन का डेटा शामिल करने की सुविधा के साथ काम करती हैं.False: इसमें संसाधन का डेटा शामिल नहीं होता.
Google Chat ऐप्लिकेशन के तौर पर, Google Workspace संगठन में होने वाले सभी Chat इवेंट की सदस्यता लेना
ग्राहक की सदस्यता की मदद से, आपका Chat ऐप्लिकेशन पूरे Google Workspace संगठन में स्पेस इवेंट और उपयोगकर्ता इवेंट को मॉनिटर कर सकता है.
ग्राहकों की सदस्यताओं के लिए इवेंट कैसे डिलीवर किए जाते हैं, इस बारे में ज़्यादा जानें. इसमें बाहरी संगठनों के मैनेज किए गए स्पेस में इवेंट डिलीवर करने का तरीका भी शामिल है. इसके लिए, ग्राहकों की सदस्यता से जुड़ी सीमाएं और इवेंट डिलीवर करने के तरीके लेख पढ़ें.
ज़रूरी शर्तें और सीमाएं
- पुष्टि करना: एडमिन से एक बार मंज़ूरी लेकर, Chat ऐप्लिकेशन के तौर पर पुष्टि करना
- SKU: Google Workspace संगठन के पास कम से कम एक Enterprise एसकेयू लाइसेंस होना चाहिए. ध्यान दें कि डेवलपर के लिए झलक प्रोग्राम के दौरान, इस ज़रूरी शर्त को सख्ती से लागू नहीं किया जाता. हालांकि, इसे आने वाले समय में लागू किया जाएगा. इसके बारे में अलग से सूचना दी जाएगी.
- यूनीक होना: कोई Chat ऐप्लिकेशन, किसी Google Workspace संगठन के लिए सिर्फ़ एक ग्राहक सदस्यता बना सकता है. Google Workspace संगठन के पास कुल पांच ग्राहक सदस्यताएं हो सकती हैं. ये सदस्यताएं, अलग-अलग Chat ऐप्लिकेशन से बनाई जाती हैं.
- स्कोप: आपको जिन इवेंट टाइप की सूचनाएं चाहिए उनके हिसाब से, इनमें से एक या उससे ज़्यादा स्कोप की ज़रूरत होती है:
https://www.googleapis.com/auth/chat.app.all.spaces.readonly: स्पेस के बारे में इवेंट पाने के लिए.https://www.googleapis.com/auth/chat.app.all.memberships.readonly: सदस्यता के बारे में इवेंट पाने के लिए.https://www.googleapis.com/auth/chat.app.all.messages.readonly: मैसेज और प्रतिक्रियाओं से जुड़े इवेंट पाने के लिए.https://www.googleapis.com/auth/chat.app.all.users.readstate.readonly( डेवलपर के लिए झलक): उपयोगकर्ताओं के पढ़ने की स्थिति के बारे में इवेंट पाने के लिए.
ग्राहक की सदस्यता बनाना
ग्राहक की सदस्यता बनाने के लिए, subscriptions.create तरीके का इस्तेमाल करें.
Python के इस कोड सैंपल से, ग्राहक की सदस्यता बनाई जाती है:
Python
"""Create a customer subscription."""
from google.oauth2 import service_account
from apiclient.discovery import build
# Specify required scopes.
# Replace with the scopes needed for the event types you want to receive.
SCOPES = ['https://www.googleapis.com/auth/chat.app.all.messages.readonly']
# Specify service account details.
CREDENTIALS = (
service_account.Credentials.from_service_account_file('credentials.json')
.with_scopes(SCOPES)
)
# Monitor all events for the Google Workspace organization.
TARGET_RESOURCE = '//admin.googleapis.com/customers/CUSTOMER_ID'
# The types of events to receive.
EVENT_TYPES = [
'google.workspace.chat.message.v1.created',
'google.workspace.chat.message.v1.updated',
'google.workspace.chat.message.v1.deleted',
]
# The endpoint to deliver events to.
TOPIC = 'TOPIC_NAME'
# Call the Workspace Events API.
# Note: Use the v1beta endpoint for Developer Preview features.
service = build(
'workspaceevents',
'v1beta',
credentials=CREDENTIALS,
)
BODY = {
'target_resource': TARGET_RESOURCE,
'event_types': EVENT_TYPES,
'notification_endpoint': {'pubsub_topic': TOPIC},
'payload_options': {'include_resource': RESOURCE_DATA},
}
response = service.subscriptions().create(body=BODY).execute()
print(response)
इनकी जगह ये डालें:
CUSTOMER_ID: ग्राहक आईडी. Chat ऐप्लिकेशन के Google Workspace संगठन के लिए,my_customerएलियास का भी इस्तेमाल किया जा सकता है.TOPIC_NAME: Pub/Sub विषय का पूरा नाम, जिसे आपने Cloud प्रोजेक्ट में बनाया है. इसेprojects/PROJECT_ID/topics/TOPIC_IDके तौर पर फ़ॉर्मैट किया गया है.RESOURCE_DATA: यह एक बूलियन होता है. यह बताता है कि सदस्यता में पेलोड में मौजूद संसाधन का डेटा शामिल है या नहीं:True: इसमें सभी संसाधन का डेटा शामिल होता है. शामिल किए जाने वाले फ़ील्ड की संख्या सीमित करने के लिए,fieldMaskफ़ील्ड जोड़ें. साथ ही, बदले गए संसाधन के लिए कम से कम एक फ़ील्ड तय करें. सिर्फ़ Chat के संसाधनों की सदस्यताएं, संसाधन डेटा को शामिल करने की सुविधा देती हैं.False: इसमें संसाधन का डेटा शामिल नहीं होता.