इस गाइड में, Google Chat API के SpaceEvent
रिसॉर्स पर list()
तरीके का इस्तेमाल करने का तरीका बताया गया है. इससे किसी स्पेस में मौजूद रिसॉर्स में हुए बदलावों की सूची बनाई जा सकती है.
SpaceEvent
संसाधन, टारगेट स्पेस में हुए बदलाव को दिखाता है. इसमें स्पेस के चाइल्ड रिसॉर्स भी शामिल हैं. जैसे, मैसेज, प्रतिक्रियाएं, और पैसे चुकाकर ली जाने वाली सदस्यताएं. इस्तेमाल किए जा सकने वाले इवेंट टाइप और इवेंट पेलोड की सूची के बारे में ज़्यादा जानने के लिए, SpaceEvent
संसाधन के रेफ़रंस दस्तावेज़ के eventType
और payload
फ़ील्ड देखें.
अनुरोध करने से 28 दिन पहले तक के इवेंट की जानकारी दी जा सकती है. सर्वर उन इवेंट को दिखाता है जिनमें प्रभावित संसाधन का सबसे नया वर्शन शामिल होता है.
उदाहरण के लिए, अगर आपने नए स्पेस सदस्यों के बारे में इवेंट की सूची बनाई है, तो सर्वर Membership
ऐसे संसाधन दिखाता है जिनमें सदस्यता की नई जानकारी शामिल होती है. अगर अनुरोध की गई अवधि के दौरान नए सदस्यों को हटाया गया था, तो इवेंट के पेलोड में खाली Membership
संसाधन शामिल होता है.
किसी स्पेस के इवेंट की सूची बनाने के लिए, पुष्टि किए गए उपयोगकर्ता या Chat ऐप्लिकेशन का स्पेस का सदस्य होना ज़रूरी है.
ज़रूरी शर्तें
Node.js
- आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.
- अपना एनवायरमेंट सेट अप करें:
- Google Cloud प्रोजेक्ट बनाएं.
- उस स्क्रीन को कॉन्फ़िगर करें जहां OAuth के लिए सहमति दी जाती है.
- अपने Chat ऐप्लिकेशन के लिए, नाम, आइकॉन, और जानकारी के साथ Google Chat API चालू करें और उसे कॉन्फ़िगर करें.
- Node.js Cloud Client Library इंस्टॉल करें.
- Google Chat API के अनुरोध में पुष्टि करने के तरीके के आधार पर, ऐक्सेस क्रेडेंशियल बनाएं:
- Chat उपयोगकर्ता के तौर पर पुष्टि करने के लिए, OAuth क्लाइंट आईडी क्रेडेंशियल बनाएं. इसके बाद, क्रेडेंशियल को अपनी लोकल डायरेक्ट्री में
credentials.json
नाम की JSON फ़ाइल के तौर पर सेव करें. - Chat ऐप्लिकेशन के तौर पर पुष्टि करने के लिए, सेवा खाते के क्रेडेंशियल बनाएं और क्रेडेंशियल को
credentials.json
नाम की JSON फ़ाइल के तौर पर सेव करें.
- Chat उपयोगकर्ता के तौर पर पुष्टि करने के लिए, OAuth क्लाइंट आईडी क्रेडेंशियल बनाएं. इसके बाद, क्रेडेंशियल को अपनी लोकल डायरेक्ट्री में
- अनुमति का स्कोप चुनें. यह इस बात पर निर्भर करता है कि आपको उपयोगकर्ता के तौर पर पुष्टि करनी है या Chat ऐप्लिकेशन के तौर पर.
Python
- आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.
- अपना एनवायरमेंट सेट अप करें:
- Google Cloud प्रोजेक्ट बनाएं.
- उस स्क्रीन को कॉन्फ़िगर करें जहां OAuth के लिए सहमति दी जाती है.
- अपने Chat ऐप्लिकेशन के लिए, नाम, आइकॉन, और जानकारी के साथ Google Chat API चालू करें और उसे कॉन्फ़िगर करें.
- Python Cloud Client Library इंस्टॉल करें.
- Google Chat API के अनुरोध में पुष्टि करने के तरीके के आधार पर, ऐक्सेस क्रेडेंशियल बनाएं:
- Chat उपयोगकर्ता के तौर पर पुष्टि करने के लिए, OAuth क्लाइंट आईडी क्रेडेंशियल बनाएं. इसके बाद, क्रेडेंशियल को अपनी लोकल डायरेक्ट्री में
credentials.json
नाम की JSON फ़ाइल के तौर पर सेव करें. - Chat ऐप्लिकेशन के तौर पर पुष्टि करने के लिए, सेवा खाते के क्रेडेंशियल बनाएं और क्रेडेंशियल को
credentials.json
नाम की JSON फ़ाइल के तौर पर सेव करें.
- Chat उपयोगकर्ता के तौर पर पुष्टि करने के लिए, OAuth क्लाइंट आईडी क्रेडेंशियल बनाएं. इसके बाद, क्रेडेंशियल को अपनी लोकल डायरेक्ट्री में
- अनुमति का स्कोप चुनें. यह इस बात पर निर्भर करता है कि आपको उपयोगकर्ता के तौर पर पुष्टि करनी है या Chat ऐप्लिकेशन के तौर पर.
स्पेस इवेंट की सूची बनाना (उपयोगकर्ता की पुष्टि)
किसी Chat स्पेस के इवेंट की सूची बनाने के लिए, अपने अनुरोध में यह जानकारी शामिल करें:
अपने अनुरोध में हर इवेंट टाइप के लिए, एक या उससे ज़्यादा अनुमति के स्कोप तय करें. सबसे सही तरीका यह है कि आप सबसे सीमित स्कोप चुनें. इससे आपका ऐप्लिकेशन काम कर पाएगा. स्कोप चुनने के लिए, पुष्टि और अनुमति से जुड़ी खास जानकारी देखें.
ListSpaceEvents()
तरीके को कॉल करें. साथ ही, सूची में शामिल करने के लिए इवेंट टाइप काfilter
पास करें. आपको कम से कम एक इवेंट टाइप तय करना होगा. साथ ही, तारीख के हिसाब से भी फ़िल्टर किया जा सकता है. साथ काम करने वाले इवेंट टाइप की सूची देखने के लिए,SpaceEvent
रिसॉर्स काeventType
फ़ील्ड रेफ़रंस दस्तावेज़ देखें.
यहां दिए गए उदाहरण में, किसी स्पेस में नई सदस्यताओं और मैसेज के बारे में इवेंट की सूची दी गई है:
Node.js
इस सैंपल को चलाने के लिए, SPACE_NAME
की जगह स्पेस के name
से मिला आईडी डालें.
आईडी पाने के लिए, ListSpaces()
तरीके का इस्तेमाल करें या स्पेस के यूआरएल से आईडी पाएं.
Chat API, नई मेंबरशिप और मैसेज के बारे में स्पेस इवेंट की पेज के हिसाब से बांटी गई सूची दिखाता है.
स्पेस के इवेंट की सूची बनाना (Chat ऐप्लिकेशन की पुष्टि करना)
इस प्रोग्राम में शामिल होने पर, आपको कुछ सुविधाओं को रिलीज़ होने से पहले ही इस्तेमाल करने का ऐक्सेस मिलता है.ऐप्लिकेशन की पुष्टि करने के लिए, एडमिन की एक बार की अनुमति ज़रूरी है.
ऐप्लिकेशन की पुष्टि करने और Chat REST API की सुविधा वाले स्पेस से स्पेस इवेंट की सूची बनाने के लिए, अपने अनुरोध में यह जानकारी शामिल करें:
- अपने अनुरोध में हर इवेंट टाइप के लिए, एक या उससे ज़्यादा अनुमति के स्कोप तय करें. सबसे सही तरीका यह है कि आप सबसे सीमित स्कोप चुनें. इससे आपका ऐप्लिकेशन काम कर पाएगा. स्कोप चुनने के बारे में ज़्यादा जानने के लिए, प्रमाणीकरण और अनुमति की खास जानकारी देखें.
https://www.googleapis.com/auth/chat.app.memberships
https://www.googleapis.com/auth/chat.app.messages.readonly
https://www.googleapis.com/auth/chat.app.spaces
spaceEvents
संसाधन परlist
तरीके को कॉल करें.- जिस स्पेस के मैसेज की सूची बनानी है उसका
name
पास करें. - किसी खास तरह के इवेंट के बारे में क्वेरी करने के लिए,
filter
पास करें.
एपीआई पासकोड बनाना
डेवलपर प्रीव्यू एपीआई के तरीके को कॉल करने के लिए, आपको एपीआई डिस्कवरी दस्तावेज़ के डेवलपर प्रीव्यू वर्शन का इस्तेमाल करना होगा. यह वर्शन सार्वजनिक नहीं होता. अनुरोध की पुष्टि करने के लिए, आपको एपीआई पासकोड डालना होगा.
एपीआई पासकोड बनाने के लिए, अपने ऐप्लिकेशन का Google Cloud प्रोजेक्ट खोलें और यह तरीका अपनाएं:
- Google Cloud console में, मेन्यू > एपीआई और सेवाएं > क्रेडेंशियल पर जाएं.
- क्रेडेंशियल बनाएं > एपीआई कुंजी पर क्लिक करें.
- आपको नई एपीआई कुंजी दिखेगी.
- अपने ऐप्लिकेशन के कोड में इस्तेमाल करने के लिए, एपीआई पासकोड कॉपी करने के लिए, कॉपी करें पर क्लिक करें. एपीआई कुंजी, आपके प्रोजेक्ट के क्रेडेंशियल के "एपीआई कुंजियां" सेक्शन में भी देखी जा सकती है.
- हमारा सुझाव है कि बिना अनुमति के इस्तेमाल को रोकने के लिए, यह तय करें कि एपीआई कुंजी का इस्तेमाल कहां और किन एपीआई के लिए किया जा सकता है. ज़्यादा जानकारी के लिए, एपीआई पर पाबंदियां जोड़ना लेख पढ़ें.
Chat API को कॉल करने वाली स्क्रिप्ट लिखना
ऐप्लिकेशन की पुष्टि और Chat REST API का इस्तेमाल करके, स्पेस इवेंट की सूची बनाने का तरीका यहां बताया गया है:
Python
- अपनी वर्किंग डायरेक्ट्री में,
chat_spaceevents_list_app.py
नाम की एक फ़ाइल बनाएं. chat_spaceevents_list_app.py
में यह कोड शामिल करें:from google.oauth2 import service_account from apiclient.discovery import build # Define your app's authorization scopes. # Set authorization scopes based on the # event type. For example, if you are getting a space event # about a new membership, use the `chat.app.memberships.readonly` scope. # # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships", "https://www.googleapis.com/auth/chat.app.messages.readonly", "https://www.googleapis.com/auth/chat.app.spaces"] def main(): ''' Authenticates with Chat API using app authentication, then lists space events from a specified space. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # Use the service endpoint to call Chat API. result = chat.spaces().spaceEvents().list( # The space to list events from. # # 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', # A required filter. Filters events by event type. # # Update this filter to match your requirements. filter='eventTypes:"google.workspace.chat.message.v1.created"' ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()
कोड में, इनकी जगह ये डालें:
API_KEY
: Chat API के लिए, सेवा एंडपॉइंट बनाने के लिए बनाया गया एपीआई पासकोड.SPACE_NAME
: स्पेस का नाम. इसे Chat API मेंspaces.list
तरीके से या स्पेस के यूआरएल से पाया जा सकता है.
अपनी वर्किंग डायरेक्ट्री में, सैंपल बनाएं और उसे चलाएं:
python3 chat_spaceevents_list_app.py
Chat API, नई मेंबरशिप और मैसेज के बारे में स्पेस इवेंट की पेज के हिसाब से बांटी गई सूची दिखाता है.