इस गाइड में बताया गया है कि Google Workspace एडमिन, Google Chat API के Space
संसाधन पर search()
तरीके का इस्तेमाल करके, अपने संगठन के सभी नाम वाले स्पेस को कैसे मैनेज कर सकता है. साथ ही, एडमिन से जुड़े टास्क कैसे पूरे कर सकता है.
Google Workspace एडमिन के तौर पर, सिर्फ़ Chat API का इस्तेमाल करके नाम वाले स्पेस मैनेज किए जा सकते हैं. नाम वाले स्पेस को SPACE
का SpaceType
माना जाता है. नाम वाले स्पेस, ऐसी जगहें होती हैं जहां लोग मैसेज भेजते हैं, फ़ाइलें शेयर करते हैं, और साथ मिलकर काम करते हैं. Chat API का इस्तेमाल, डायरेक्ट मैसेज (डीएम) या ग्रुप चैट को मैनेज करने के लिए नहीं किया जा सकता.
Space
संसाधन
एक ऐसी जगह होती है जहां लोग और Chat ऐप्लिकेशन, मैसेज भेज सकते हैं, फ़ाइलें शेयर कर सकते हैं, और साथ मिलकर काम कर सकते हैं. स्पेस कई तरह के होते हैं:
- डायरेक्ट मैसेज (डीएम), दो उपयोगकर्ताओं या किसी उपयोगकर्ता और Chat ऐप्लिकेशन के बीच की बातचीत होती है.
- ग्रुप चैट, तीन या उससे ज़्यादा लोगों और चैट ऐप्लिकेशन के बीच होने वाली बातचीत होती है.
- नाम वाले स्पेस, ऐसी जगहें होती हैं जहां लोग मैसेज भेजते हैं, फ़ाइलें शेयर करते हैं, और साथ मिलकर काम करते हैं.
Google Workspace एडमिन के तौर पर, Chat API का इस्तेमाल करके अपने संगठन में नाम वाले स्पेस खोजे जा सकते हैं और उन्हें मैनेज किया जा सकता है. इसके लिए, ये तरीके अपनाए जा सकते हैं:
- संगठन में मौजूद स्पेस की ऑडिट करें.
search()
तरीके का इस्तेमाल करके, किसी संगठन के सभी स्पेस की सूची को वापस पाया जा सकता है. साथ ही, हर स्पेस की सेटिंग और मेटाडेटा के बारे में ज़्यादा जानकारी भी पाई जा सकती है. जैसे, स्पेस बनाने की तारीख, स्पेस में आखिरी गतिविधि की तारीख, सदस्यों की संख्या, इतिहास की सेटिंग की स्थिति, और बाहरी मेहमानों को न्योता देने की सुविधा. - इनऐक्टिव स्पेस ढूंढें और उन्हें मिटाएं.
search()
तरीके का इस्तेमाल करके, उन स्पेस का पता लगाया जा सकता है जिनका इस्तेमाल तय की गई तारीख और समय से नहीं किया गया है. इसके बाद, उन्हें मिटाया जा सकता है. ज़्यादा जानकारी और सैंपल कोड के लिए, इस्तेमाल नहीं किए जा रहे स्पेस ढूंढना और उन्हें मिटाना लेख पढ़ें. - खोज के लिए तय की गई शर्तों के आधार पर, स्पेस की सूची एक्सपोर्ट करें.
search()
तरीके का इस्तेमाल करके, उन स्पेस की सूची वापस पाई जा सकती है जोquery
में बताई गई शर्तों को पूरा करते हैं. साथ ही, विश्लेषण के लिए नतीजों को CSV फ़ाइल में एक्सपोर्ट किया जा सकता है. - स्पेस मैनेजर को ढूंढना और उनसे संपर्क करना.
search()
तरीके का इस्तेमाल करके, किसी संगठन के सभी स्पेस की सूची वापस पाई जा सकती है. इसके बाद,members.list()
तरीके का इस्तेमाल करके, स्पेस के उन सभी सदस्यों की सूची वापस पाई जा सकती है जो मैनेजर हैं. - ऐसे स्पेस ढूंढें जिनके लिए मैनेजर तय नहीं किए गए हैं.
search()
तरीके का इस्तेमाल करके, किसी संगठन के सभी स्पेस की सूची वापस पाई जा सकती है. इसके बाद,members.list()
तरीके का इस्तेमाल करके, उन स्पेस की सूची वापस पाई जा सकती है जिनमें कोई मैनेजर नहीं है.
ज़रूरी शर्तें
Python
- आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.
- अपना एनवायरमेंट सेट अप करें:
- Google Cloud प्रोजेक्ट बनाएं.
- उस स्क्रीन को कॉन्फ़िगर करें जहां OAuth के लिए सहमति दी जाती है.
- अपने Chat ऐप्लिकेशन के लिए, Google Chat API चालू करें और उसे कॉन्फ़िगर करें. इसके लिए, Chat ऐप्लिकेशन का नाम, आइकॉन, और जानकारी दें.
- Python Google API Client Library इंस्टॉल करें.
-
डेस्कटॉप ऐप्लिकेशन के लिए, OAuth क्लाइंट आईडी क्रेडेंशियल बनाएं. इस गाइड में दिए गए सैंपल को चलाने के लिए, क्रेडेंशियल को अपनी लोकल डायरेक्ट्री में
credentials.json
नाम की JSON फ़ाइल के तौर पर सेव करें.
- अनुमति का ऐसा दायरा चुनें जो उपयोगकर्ता की पुष्टि करने की सुविधा के साथ काम करता हो.
- आपके पास अपने Google Workspace संगठन के लिए, Chat और स्पेस में होने वाली बातचीत को मैनेज करने के एडमिन के अधिकार होने चाहिए.
एडमिन के तौर पर Google Chat API को कॉल करना
एडमिन के अधिकारों वाले उपयोगकर्ता के तौर पर पुष्टि करने के लिए, आपको अपने अनुरोध में यह जानकारी शामिल करनी होगी:
- ऑथराइज़ेशन स्कोप तय करें, जो एडमिन के खास अधिकारों के साथ उपयोगकर्ता की पुष्टि करने की सुविधा के साथ काम करता हो.
useAdminAccess
फ़ील्ड कोtrue
पर सेट करें.
इस सेक्शन में, Chat API को एडमिन के तौर पर कॉल करने के ये उदाहरण दिए गए हैं:
search()
तरीके को कॉल करके, स्पेस खोजें.- अपनी संस्था में मौजूद इनऐक्टिव स्पेस ढूंढें और उन्हें मिटाएं. इसके लिए,
search()
तरीके का इस्तेमाल करके, उन स्पेस की सूची पाएं जो इनऐक्टिव हैं. इसके बाद,delete()
तरीके का इस्तेमाल करके उन्हें मिटाएं.
अपने संगठन के सभी स्पेस खोजें
इस उदाहरण में बताया गया है कि Google Workspace एडमिन, Chat API के Space
संसाधन पर search()
तरीके का इस्तेमाल करके, तय की गई शर्तों के आधार पर किसी संगठन के सभी स्पेस कैसे खोज सकते हैं.
उपयोगकर्ता की पुष्टि और एडमिन के विशेषाधिकारों के साथ search()
तरीके को कॉल करने के लिए, आपको अनुरोध में यह जानकारी देनी होगी:
chat.admin.spaces
याchat.admin.spaces.readonly
अनुमति के स्कोप के बारे में बताएं.useAdminAccess=true
की जानकारी दें.- नतीजों को फ़िल्टर करने के लिए, खोज
query
के पैरामीटर तय करें:customer = "customers/my_customer"
- यह ज़रूरी है और इसकी वैल्यू के तौर पर सिर्फ़customers/my_customer
का इस्तेमाल किया जा सकता हैspaceType = "SPACE"
- यह ज़रूरी है और इसके लिए सिर्फ़SPACE
वैल्यू का इस्तेमाल किया जा सकता है- इसके अलावा, स्पेस को और ज़्यादा फ़िल्टर करने के लिए एक या उससे ज़्यादा क्वेरी भी इस्तेमाल की जा सकती हैं. जैसे, डिसप्ले नेम में मौजूद कीवर्ड (
displayName
), स्पेस बनाने की तारीख (createTime
) या स्पेस में की गई गतिविधि (lastActiveTime
).
यहां दिए गए कोड में, एडमिन के अधिकारों का इस्तेमाल करके, ऐसे स्पेस खोजने का तरीका बताया गया है जिनके डिसप्ले नेम में "Hello" और "World" शामिल है. ये शब्द किसी भी क्रम में हो सकते हैं:
Python
- अपनी वर्किंग डायरेक्ट्री में,
search_spaces_for_hello_world.py
नाम की एक फ़ाइल बनाएं. search_spaces_for_hello_world.py
में यह कोड शामिल करें:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build SCOPES = [ 'https://www.googleapis.com/auth/chat.admin.spaces.readonly', ] def main(): # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'credentials.json', SCOPES, ) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) spaces = [] page_token = '' # Search for all spaces. while True: result = ( chat.spaces() .search( useAdminAccess=True, query=( 'customer = "customers/my_customer"' 'AND spaceType = "SPACE"' 'AND displayName:"Hello World"' ) pageToken=page_token, ) .execute() ) if 'spaces' not in result: print('No spaces found named Hello World.') return spaces.extend(result['spaces']) if 'nextPageToken' in result: page_token = result['nextPageToken'] else: break print(str(len(spaces)) + ' spaces found:') # Prints the list of spaces. print(spaces)
अपनी वर्किंग डायरेक्ट्री में, सैंपल बनाएं और उसे चलाएं:
python3 search_spaces_for_hello_world.py
इनऐक्टिव स्पेस ढूंढना और मिटाना
इस उदाहरण में बताया गया है कि Google Workspace एडमिन, Chat API के Space
रिसॉर्स पर search()
तरीके का इस्तेमाल करके, ऐसे स्पेस का पता कैसे लगा सकते हैं जिनमें कोई गतिविधि नहीं हुई है. इसके बाद, वे useAdminAccess
पैरामीटर के साथ delete()
तरीके का इस्तेमाल करके, उन स्पेस को मिटा सकते हैं.
Google Chat के ऐसे स्पेस जिनका अब इस्तेमाल नहीं किया जा रहा है वे स्टोरेज की जगह घेर सकते हैं. साथ ही, यूज़र इंटरफ़ेस में काफ़ी स्पेस ले सकते हैं. search()
तरीके का इस्तेमाल करके, एडमिन ऐसे स्पेस ढूंढ सकते हैं जिनका इस्तेमाल किसी तय तारीख और समय के बाद नहीं किया गया है. जैसे, दो महीने पहले. स्पेस की सूची तैयार होने के बाद, एडमिन उन पर कार्रवाई कर सकते हैं. जैसे, उन्हें अपडेट करना या मिटाना.
ऐक्टिव नहीं हैं ऐसे स्पेस की सूची खोजने और फिर उपयोगकर्ता की पुष्टि और एडमिन के विशेषाधिकारों के साथ उन्हें मिटाने के लिए, अपने अनुरोधों में यह जानकारी शामिल करें:
- इनऐक्टिव स्पेस खोजने के लिए, यह जानकारी दें:
chat.admin.spaces
याchat.admin.spaces.readonly
अनुमति के स्कोप के बारे में बताएं.Spaces
संसाधन परsearch()
वाले तरीके को कॉल करें.INACTIVE_SPACE_DEADLINE
को पिछली गतिविधि की तारीख और समय पर सेट करें. इससे यह तय होता है कि कौनसे स्पेस दिखाए जाने हैं.useAdminAccess=true
की जानकारी दें.- नतीजों को फ़िल्टर करने के लिए, खोज
query
के पैरामीटर तय करें:customer = "customers/my_customer"
- यह एट्रिब्यूट ज़रूरी है. इसके लिए सिर्फ़customers/my_customer
वैल्यू का इस्तेमाल किया जा सकता हैspaceType = "SPACE"
- यह ज़रूरी है और इसके लिए सिर्फ़SPACE
वैल्यू का इस्तेमाल किया जा सकता हैlastActiveTime
- सिर्फ़ बंद किए गए स्पेस दिखाने के लिए, अपने अनुरोध को फ़िल्टर करने के लिएlastActiveTime
पैरामीटर का इस्तेमाल करें
- खोज के नतीजों से बंद किए गए स्पेस मिटाने के लिए, यह जानकारी दें:
chat.admin.delete
ऑथराइज़ेशन का स्कोप तय करें.Spaces
संसाधन परdelete()
वाले तरीके को कॉल करें.useAdminAccess=true
की जानकारी दें.
नीचे दिए गए कोड में, एडमिन के अधिकारों का इस्तेमाल करके, बंद किए गए स्पेस खोजने और उन्हें मिटाने का तरीका दिखाया गया है:
Python
अपनी वर्किंग डायरेक्ट्री में,
find_and_delete_inactive_spaces.py
नाम की एक फ़ाइल बनाएं.find_and_delete_inactive_spaces.py
में यह कोड शामिल करें:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build SCOPES = [ 'https://www.googleapis.com/auth/chat.admin.spaces.readonly', 'https://www.googleapis.com/auth/chat.admin.delete', ] # Any spaces that have not been active since this time will be deleted. INACTIVE_SPACE_DEADLINE = '"INACTIVE_DATE"' def main(): # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'credentials.json', SCOPES, ) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) spaces = [] page_token = '' # Search for all inactive spaces. while True: result = ( chat.spaces() .search( useAdminAccess=True, query=( 'customer = "customers/my_customer" AND spaceType = "SPACE" AND' ' lastActiveTime < ' ) + INACTIVE_SPACE_DEADLINE, pageToken=page_token, ) .execute() ) if 'spaces' not in result: print('No inactive spaces found.') return spaces.extend(result['spaces']) if 'nextPageToken' in result: page_token = result['nextPageToken'] else: break print(str(len(spaces)) + ' inactive spaces found:') # Prints the list of inactive spaces. print(spaces) # Delete all inactive spaces. for space in spaces: ( chat.spaces() .delete( useAdminAccess=True, name=space['name'], ) .execute() ) print( 'Deleted space: ' + space['displayName'] + ', Resource Name: ' + space['name'] ) if __name__ == '__main__': main()
कोड में,
INACTIVE_DATE
को YYYY-MM-DDTHH:MM:SS+HH:MM फ़ॉर्मैट में तारीख और समय से बदलें. उदाहरण के लिए, "2024-06-01T00:00:00+00:00".अपनी वर्किंग डायरेक्ट्री में, सैंपल बनाएं और उसे चलाएं:
python3 find_and_delete_inactive_spaces.py
मिलते-जुलते विषय
- स्पेस मिटाना
- किसी स्पेस में मौजूद सदस्यों की सूची देखना
- Google Workspace एडमिन के तौर पर Chat स्पेस मैनेज करना
spaces.search()
तरीका