این راهنما توضیح میدهد که چگونه یک سرپرست Google Workspace میتواند از متد search()
در یک منبع Space
از Google Chat API برای مدیریت فضاهای نامگذاری شده در سراسر سازمان خود و انجام وظایف اداری استفاده کند.
بهعنوان سرپرست Google Workspace، فقط میتوانید از Chat API برای مدیریت فضاهای نامگذاری شده استفاده کنید که بهعنوان SpaceType
of SPACE
تعریف میشوند. فضاهای نامگذاری شده مکانهایی هستند که افراد در آن پیام میفرستند، فایلها را به اشتراک میگذارند و همکاری میکنند. نمیتوانید از Chat API برای مدیریت پیامهای مستقیم (DM) یا چتهای گروهی استفاده کنید.
منبع Space
مکانی را نشان میدهد که در آن افراد و برنامههای چت میتوانند پیام ارسال کنند، فایلها را به اشتراک بگذارند و با هم همکاری کنند. چند نوع فضا وجود دارد:
- پیامهای مستقیم (DM) مکالمات بین دو کاربر یا یک کاربر و یک برنامه چت هستند.
- چت گروهی مکالمه بین سه یا چند کاربر و برنامه های چت است.
- فضاهای نامگذاری شده مکانهایی هستند که افراد در آن پیام میفرستند، فایلها را به اشتراک میگذارند و همکاری میکنند.
به عنوان یک سرپرست Google Workspace، میتوانید از Chat API برای جستجو و مدیریت فضاهای نامگذاری شده در سازمان خود به روشهای زیر استفاده کنید:
- فضاهای حسابرسی در سازمان با استفاده از متد
search()
میتوانید فهرستی از تمام فضاهای یک سازمان را با اطلاعات دقیق در مورد تنظیمات و ابردادههای هر فضا مانند تاریخ ایجاد، تاریخ آخرین فعالیت، تعداد اعضا، وضعیت تنظیمات سابقه و توانایی دعوت خارجی بازیابی کنید. مهمانان - فضاهای غیرفعال را پیدا و حذف کنید. با استفاده از متد
search()
می توانید فضاهایی را که از تاریخ و زمان مشخصی استفاده نشده اند پیدا کنید و سپس آنها را حذف کنید. برای جزئیات بیشتر و نمونه کد، به یافتن و حذف فضاهای غیرفعال مراجعه کنید. - فهرستی از فضاها را بر اساس معیارهای جستجو صادر کنید. با استفاده از متد
search()
میتوانید فهرستی از فضاهایی را که معیارهای مشخص شده درquery
را برآورده میکنند بازیابی کنید و نتایج را برای تجزیه و تحلیل به یک فایل CSV صادر کنید. - مدیران فضا را بیابید و با آنها تماس بگیرید. با استفاده از متد
search()
می توانید لیستی از تمام فضاهای یک سازمان را بازیابی کنید، سپس از متدmembers.list()
برای بازیابی لیستی از تمام اعضای فضا که مدیر هستند استفاده کنید. - فضاهای بدون مدیران تعیین شده را پیدا کنید. با استفاده از متد
search()
می توانید لیستی از تمام فضاهای یک سازمان را بازیابی کنید، سپس از متدmembers.list()
برای بازیابی لیستی از فضاهایی که هیچ مدیری ندارند استفاده کنید.
پیش نیازها
پایتون
- یک حساب Google Workspace تجاری یا سازمانی با دسترسی به Google Chat .
- محیط خود را تنظیم کنید:
- یک پروژه Google Cloud ایجاد کنید .
- صفحه رضایت OAuth را پیکربندی کنید .
- Google Chat API را با نام، نماد و توضیحات برای برنامه Chat خود فعال و پیکربندی کنید .
- کتابخانه Google API Client Python را نصب کنید.
- شناسه مشتری OAuth را برای یک برنامه دسکتاپ ایجاد کنید . برای اجرای نمونه در این راهنما، اعتبارنامه ها را به عنوان یک فایل JSON با نام
client_secrets.json
در فهرست محلی خود ذخیره کنید.
- محدوده مجوزی را انتخاب کنید که از احراز هویت کاربر پشتیبانی می کند.
- برای سازمان Google Workspace خود، باید امتیازات مدیر مکالمه Chat و Spaces را داشته باشید.
به عنوان سرپرست با Google Chat API تماس بگیرید
برای احراز هویت به عنوان یک کاربر با امتیازات سرپرست ، باید موارد زیر را در درخواست خود ارسال کنید:
- محدوده مجوزی را مشخص کنید که از احراز هویت کاربر با امتیازات سرپرست پشتیبانی می کند.
- فیلد
useAdminAccess
را رویtrue
تنظیم کنید.
این بخش نمونههای زیر را از فراخوانی Chat API بهعنوان سرپرست نشان میدهد:
- با فراخوانی متد
search()
فضاها را جستجو کنید . - با فراخوانی متد
search()
برای بازگرداندن لیستی از فضاهای غیرفعال و سپس فراخوانی متدdelete()
برای حذف آنها ، فضاهای غیرفعال را در سازمان خود پیدا و حذف کنید .
فضاهای سراسر سازمان خود را جستجو کنید
این مثال توضیح میدهد که چگونه مدیران Google Workspace میتوانند از متد search()
در منبع Space
Chat API برای جستجوی فضاها در یک سازمان بر اساس معیارهای مشخص شده استفاده کنند.
برای فراخوانی متد 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" را در هر ترکیبی نشان می دهد:
پایتون
- در پوشه کاری خود، فایلی با نام
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 میتوانند از متد search()
در منبع Space
Chat API برای یافتن فضاهای غیرفعال استفاده کنند و سپس با استفاده از متد delete()
با پارامتر useAdminAccess
آنها را حذف کنند.
فضاهای غیرفعال Google Chat - فضاهایی که دیگر به طور فعال استفاده نمی شوند - می توانند فضای ذخیره سازی ارزشمندی را اشغال کنند و در رابط کاربری به هم ریختگی ایجاد کنند. با استفاده از متد search()
، مدیران می توانند فضاهایی را پیدا کنند که از تاریخ و زمان مشخصی مانند دو ماه پیش استفاده نشده است. پس از برشمردن لیست فضاها، مدیران می توانند اقداماتی مانند به روز رسانی یا حذف آنها را انجام دهند.
برای جستجوی لیستی از فضاهای غیرفعال و سپس حذف آنها با احراز هویت کاربر و امتیازات سرپرست ، موارد زیر را در درخواست های خود ارسال کنید:
- برای جستجوی فضاهای غیرفعال، موارد زیر را مشخص کنید:
- محدوده مجوز
chat.admin.spaces
یاchat.admin.spaces.readonly
را مشخص کنید. - متد
search()
را در منبعSpaces
فراخوانی کنید. -
INACTIVE_SPACE_DEADLINE
را روی تاریخ و زمان آخرین فعالیتی که فضاهای بازگردانده را تعیین می کند، تنظیم کنید. -
useAdminAccess=true
مشخص کنید. - پارامترهای
query
را برای فیلتر کردن نتایج مشخص کنید:-
customer = "customers/my_customer"
- مورد نیاز است و تنها ارزش پشتیبانی شدهcustomers/my_customer
است -
spaceType = "SPACE"
- مورد نیاز است و تنها مقدار پشتیبانی شدهSPACE
است -
lastActiveTime
- برای فیلتر کردن درخواست خود برای بازگرداندن فضاهای غیرفعال،lastActiveTime
را مشخص کنید
-
- محدوده مجوز
- برای حذف فضاهای غیرفعال از نتایج جستجو، موارد زیر را مشخص کنید:
- محدوده مجوز
chat.admin.delete
را مشخص کنید. - متد
delete()
را در منبعSpaces
فراخوانی کنید. -
useAdminAccess=true
مشخص کنید.
- محدوده مجوز
کد زیر نمونه ای از نحوه جستجوی فضاهای غیرفعال و حذف آنها با استفاده از امتیازات مدیر را نشان می دهد:
پایتون
در پوشه کاری خود، فایلی با نام
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 مدیریت کنید
- متد
spaces.search()
.