במדריך הזה מוסבר איך אדמינים ב-Google Workspace יכולים להשתמש בשיטה search()
במשאב Space
של Google Chat API כדי לנהל מרחבים משותפים עם שם בארגון ולבצע משימות ניהול.
אדמינים ב-Google Workspace יכולים להשתמש ב-Chat API רק כדי לנהל מרחבים משותפים עם שם, שמוגדרים בתור SpaceType
של SPACE
. מרחבים משותפים עם שם הם מקומות קבועים שבהם אנשים שולחים הודעות, משתפים קבצים ועובדים יחד. אי אפשר להשתמש ב-Chat API כדי לנהל הודעות אישיות או צ'אטים קבוצתיים.
המשאבים מסוג Space
מייצגים מקום שבו אנשים ואפליקציות Chat יכולים לשלוח הודעות, לשתף קבצים ולשתף פעולה. יש כמה סוגים של מרחבים משותפים:
- צ'אטים אישיים (DM) הם שיחות בין שני משתמשים או בין משתמש לאפליקציית Chat.
- שיחות קבוצתיות הן שיחות בין שלושה משתמשים או יותר באפליקציות Chat.
- מרחבים משותפים עם שם הם מקומות קבועים שבהם אנשים שולחים הודעות, משתפים קבצים ועובדים יחד.
אדמינים ב-Google Workspace יכולים להשתמש ב-Chat API כדי לחפש ולנהל מרחבים משותפים עם שם בארגון בדרכים הבאות:
- ביקורת של מרחבים בארגון באמצעות השיטה
search()
אפשר לאחזר רשימה של כל המרחבים המשותפים בארגון, עם מידע מפורט על ההגדרות והמטא-נתונים של כל מרחב משותף, כמו תאריך היצירה, תאריך הפעילות האחרונה, מספר המשתתפים, סטטוס ההגדרה של ההיסטוריה והיכולת להזמין אורחים מחוץ לארגון. - איך למצוא ולמחוק מרחבים משותפים לא פעילים באמצעות השיטה
search()
אפשר למצוא מרחבים משותפים שלא היו בשימוש מאז תאריך ושעה מסוימים, ואז למחוק אותם. פרטים נוספים ודוגמת קוד זמינים במאמר חיפוש ומחיקה של מרחבים משותפים לא פעילים. - ייצוא רשימה של מרחבים משותפים על סמך קריטריונים לחיפוש באמצעות השיטה
search()
אפשר לאחזר רשימה של מרחבים משותפים שעומדים בקריטריונים שצוינו ב-query
ולייצא את התוצאות לקובץ CSV לצורך ניתוח. - איך מוצאים את המנהלים של המרחב המשותף ומקשרים אליהם באמצעות ה-method
search()
אפשר לאחזר רשימה של כל המרחבים המשותפים בארגון, ואז להשתמש ב-methodmembers.list()
כדי לאחזר רשימה של כל המנהלים במרחב המשותף. - איך מוצאים מרחבים משותפים ללא מנהלים ייעודיים באמצעות ה-method
search()
אפשר לאחזר רשימה של כל המרחבים המשותפים בארגון, ואז להשתמש ב-methodmembers.list()
כדי לאחזר רשימה של מרחבים משותפים שאין להם מנהלי מרחבים משותפים.
דרישות מוקדמות
Python
- חשבון Google Workspace בתוכנית Business או Enterprise עם גישה ל-Google Chat.
- מגדירים את הסביבה:
- יוצרים פרויקט ב-Google Cloud.
- מגדירים את מסך ההסכמה של OAuth.
- מפעילים ומגדירים את Google Chat API עם שם, סמל ותיאור לאפליקציית Chat.
- מתקינים את ספריית הלקוח של Google API ל-Python.
-
יצירת פרטי כניסה של מזהה לקוח OAuth לאפליקציה למחשב. כדי להריץ את הדוגמה במדריך הזה, שומרים את פרטי הכניסה כקובץ JSON בשם
client_secrets.json
בספרייה המקומית.
- בחירת היקף הרשאה שתומך באימות משתמשים.
- צריכות להיות לכם הרשאות אדמין לניהול צ'אטים ושיחות במרחבים משותפים בארגון שלכם ב-Google Workspace.
קריאה ל-Google Chat API כאדמינים
כדי לבצע אימות כמשתמש עם הרשאות אדמין, צריך להעביר את הפרטים הבאים בבקשה:
- מציינים היקף הרשאה שתומך באימות משתמשים עם הרשאות אדמין.
- מגדירים את השדה
useAdminAccess
לערךtrue
.
בקטע הזה מוצגות הדוגמאות הבאות לקריאה ל-Chat API כאדמינים:
- חיפוש מרחבים משותפים באמצעות קריאה ל-method
search()
. - כדי למצוא ולמחוק מרחבים משותפים לא פעילים בארגון, אפשר להפעיל את השיטה
search()
כדי לקבל רשימה של מרחבים משותפים שלא היו פעילים, ואז להפעיל את השיטהdelete()
כדי למחוק אותם.
חיפוש מרחבים משותפים בארגון
בדוגמה הזו מוסבר איך אדמינים ב-Google Workspace יכולים להשתמש בשיטה search()
במשאב Space
של Chat API כדי לחפש מרחבים משותפים בארגון על סמך קריטריונים ספציפיים.
כדי לבצע קריאה ל-method 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( '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 יכולים להשתמש ב-method search()
במשאב Space
של Chat API כדי למצוא מרחבים משותפים לא פעילים, ואז למחוק אותם באמצעות ה-method 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
.
- מציינים את היקף ההרשאה
הקוד הבא מראה דוגמה לחיפוש מרחבים משותפים לא פעילים ולמחיקה שלהם באמצעות הרשאות אדמין:
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
נושאים קשורים
- מחיקת מרחבים משותפים
- הצגת רשימת המשתתפים במרחב משותף
- ניהול מרחבים משותפים ב-Chat כאדמינים ב-Google Workspace
- השיטה
spaces.search()