इस गाइड में बताया गया है कि Google Workspace एडमिन, अपने संगठन में नाम वाले स्पेस मैनेज करने और एडमिन से जुड़े टास्क करने के लिए, Google Chat API के Space
रिसॉर्स पर search()
तरीके का इस्तेमाल कैसे कर सकता है.
Google Workspace एडमिन के तौर पर, सिर्फ़ नाम वाले स्पेस मैनेज करने के लिए Chat API का इस्तेमाल किया जा सकता है. इन स्पेस को SPACE
के SpaceType
के तौर पर दिखाया जाता है. नाम वाले स्पेस, हमेशा मौजूद रहते हैं. इनमें लोग मैसेज भेजते हैं, फ़ाइलें शेयर करते हैं, और साथ मिलकर काम करते हैं. डायरेक्ट मैसेज (डीएम) या ग्रुप चैट मैनेज करने के लिए, Chat API का इस्तेमाल नहीं किया जा सकता.
Space
संसाधन, ऐसी जगह को दिखाता है जहां लोग और Chat ऐप्लिकेशन, मैसेज भेज सकते हैं, फ़ाइलें शेयर कर सकते हैं, और साथ मिलकर काम कर सकते हैं. स्पेस कई तरह के होते हैं:
- डायरेक्ट मैसेज (DM), दो उपयोगकर्ताओं या किसी उपयोगकर्ता और Chat ऐप्लिकेशन के बीच की बातचीत होती है.
- ग्रुप चैट में तीन या उससे ज़्यादा उपयोगकर्ता और चैट ऐप्लिकेशन के बीच बातचीत होती है.
- नाम वाले स्पेस, हमेशा मौजूद रहते हैं. इनमें लोग मैसेज भेजते हैं, फ़ाइलें शेयर करते हैं, और साथ मिलकर काम करते हैं.
Google Workspace एडमिन के तौर पर, Chat API का इस्तेमाल करके अपने संगठन में नाम वाले स्पेस को खोजा और मैनेज किया जा सकता है. इसके लिए, ये तरीके अपनाएं:
- संगठन में मौजूद स्पेस की जांच करना.
search()
तरीके का इस्तेमाल करके, किसी संगठन के सभी स्पेस की सूची हासिल की जा सकती है. इसमें हर स्पेस की सेटिंग और मेटाडेटा की पूरी जानकारी होती है. जैसे, बनाने की तारीख, पिछली गतिविधि की तारीख, सदस्यों की संख्या, इतिहास की सेटिंग की स्थिति, और बाहरी मेहमानों को न्योता भेजने की सुविधा. - इनऐक्टिव स्पेस ढूंढना और मिटाना.
search()
तरीके का इस्तेमाल करके, ऐसे स्पेस ढूंढे जा सकते हैं जिनका इस्तेमाल किसी तय तारीख और समय के बाद नहीं किया गया है. इसके बाद, उन्हें मिटाया जा सकता है. ज़्यादा जानकारी और सैंपल कोड के लिए, इस्तेमाल में नहीं हैं ऐसे स्पेस ढूंढना और मिटाना लेख पढ़ें. - खोज के लिए डाली गई शर्तों के हिसाब से, स्पेस की सूची एक्सपोर्ट करना.
search()
तरीके का इस्तेमाल करके,query
में बताई गई शर्तों को पूरा करने वाले स्पेस की सूची देखी जा सकती है. साथ ही, विश्लेषण के लिए नतीजों को CSV फ़ाइल में एक्सपोर्ट किया जा सकता है. - स्पेस मैनेजर ढूंढना और उनसे संपर्क करना.
search()
तरीके का इस्तेमाल करके, किसी संगठन के सभी स्पेस की सूची देखी जा सकती है. इसके बाद, स्पेस के उन सभी सदस्यों की सूची देखने के लिए,members.list()
तरीके का इस्तेमाल किया जा सकता है जो मैनेजर हैं. - ऐसे स्पेस ढूंढना जिनके लिए मैनेजर नहीं चुने गए हैं.
search()
तरीके का इस्तेमाल करके, किसी संगठन के सभी स्पेस की सूची देखी जा सकती है. इसके बाद,members.list()
तरीके का इस्तेमाल करके उन स्पेस की सूची देखी जा सकती है जिनका कोई मैनेजर नहीं है.
ज़रूरी शर्तें
Python
- आपके पास Google Workspace का Business या Enterprise वर्शन वाला खाता हो. साथ ही, आपके पास Google Chat का ऐक्सेस हो.
- अपना एनवायरमेंट सेट अप करें:
- Google Cloud प्रोजेक्ट बनाएं.
- OAuth की सहमति वाली स्क्रीन को कॉन्फ़िगर करें.
- अपने Chat ऐप्लिकेशन के लिए नाम, आइकॉन, और जानकारी के साथ Google Chat API को चालू और कॉन्फ़िगर करें.
- Python Google API क्लाइंट लाइब्रेरी को इंस्टॉल करें.
- डेस्कटॉप ऐप्लिकेशन के लिए,
OAuth क्लाइंट आईडी क्रेडेंशियल बनाएं. इस गाइड में दिए गए सैंपल को चलाने के लिए, अपनी लोकल डायरेक्ट्री में क्रेडेंशियल को
client_secrets.json
नाम की JSON फ़ाइल के तौर पर सेव करें.
- उपयोगकर्ता की पुष्टि करने की सुविधा वाला अनुमति का स्कोप चुनें.
- आपके पास अपने Google Workspace संगठन के लिए, चैट और स्पेस में होने वाली बातचीत को मैनेज करने के एडमिन के अधिकार होने चाहिए.
एडमिन के तौर पर 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
).
नीचे दिए गए कोड में, एडमिन के विशेषाधिकारों का इस्तेमाल करके, ऐसे स्पेस खोजने का उदाहरण दिया गया है जिनके डिसप्ले नेम में "नमस्ते" और "दुनिया", दोनों शब्द शामिल हों. इन शब्दों को किसी भी क्रम में इस्तेमाल किया जा सकता है:
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( 'client_secrets.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( 'client_secrets.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()
तरीका