במדריך הזה מוסבר איך להשתמש בשיטה update() במשאב Membership של Google Chat API כדי לשנות מאפיינים של חברות במרחב, כמו שינוי של משתתף במרחב למנהל או לבעלים של המרחב.
אדמינים ב-Google Workspace יכולים להתקשר לשיטת update() כדי לעדכן את החברות בכל מרחב בארגון שלהם ב-Google Workspace.
המשאב
Membership מייצג אם משתמש אנושי או אפליקציית Google Chat הוזמנו למרחב, הם חלק ממנו או שהם לא נמצאים בו.
דרישות מוקדמות
Node.js
- חשבון Google Workspace במהדורת Business או Enterprise עם גישה ל-Google Chat.
- מגדירים את הסביבה:
- יוצרים פרויקט ב-Google Cloud.
- מגדירים את מסך ההסכמה של OAuth.
- מפעילים ומגדירים את Google Chat API עם שם, סמל ותיאור לאפליקציית Chat.
- מתקינים את ספריית הלקוח של Cloud ל-Node.js.
- יוצרים פרטי גישה בהתאם לאופן שבו רוצים לבצע אימות בבקשה של Google Chat API:
- כדי לבצע אימות כמשתמש ב-Chat, יוצרים פרטי כניסה של מזהה לקוח OAuth ושומרים אותם כקובץ JSON בשם
credentials.jsonבספרייה המקומית. - כדי לבצע אימות כאפליקציית Chat, יוצרים פרטי כניסה לחשבון שירות ושומרים אותם כקובץ JSON בשם
credentials.json.
- כדי לבצע אימות כמשתמש ב-Chat, יוצרים פרטי כניסה של מזהה לקוח OAuth ושומרים אותם כקובץ JSON בשם
- בוחרים היקף הרשאה בהתאם לאופן שבו רוצים לבצע אימות – כמשתמש או כאפליקציית Chat.
עדכון המינוי
כדי לעדכן את החברות במרחב, מעבירים את הפרטים הבאים בבקשה:
- מציינים היקף הרשאה:
- באימות משתמשים, צריך לציין את היקף ההרשאה
chat.memberships. - באימות אפליקציות, מציינים את היקף ההרשאה של
chat.app.memberships. כשמעדכנים חברות במועדון עם אימות באפליקציה, אפשר לעדכן רק חברות במועדון במרחבים שנוצרו על ידי אפליקציות ל-Chat. כדי לאמת אפליקציה, נדרש אישור אדמין חד-פעמי.
- באימות משתמשים, צריך לציין את היקף ההרשאה
- מבצעים קריאה ל-method
UpdateMembership(). - מעבירים את
membershipכעותק שלMembershipעם הפרטים הבאים:- השדה
nameמוגדר לחברות שרוצים לעדכן, כולל מזהה המרחב ומזהה החבר. - השדות של חברות במועדון שצריך לעדכן מוגדרים לערכים החדשים.
- השדה
- מעבירים את
updateMaskכדי לציין את ההיבטים של החברות שרוצים לעדכן, כולל:-
role: התפקיד של המשתמש במרחב ב-Chat, שקובע את הפעולות שהוא יכול לבצע במרחב. הסברים מפורטים על ההרשאות מופיעים במאמרMembershipRoleבתיעוד של Chat API. הערכים האפשריים הם:-
ROLE_MEMBER: משתתף במרחב. בממשק המשתמש של Chat, התפקיד הזה נקרא חבר. -
ROLE_ASSISTANT_MANAGER: מנהל/ת המרחב. בממשק המשתמש של Chat, התפקיד הזה נקרא מנהל. ROLE_MANAGER: הבעלים של המרחב. בממשק המשתמש של Chat, התפקיד הזה נקרא בעלים.
-
-
שינוי התפקיד של חבר/ה בקבוצה לבעלים (אימות משתמש)
בדוגמה הבאה מתבצעת קריאה ל-Chat API באמצעות אימות משתמשים כדי להגדיר חבר רגיל במרחב כבעלים של המרחב. לשם כך מציינים את role כ-ROLE_MANAGER:
Node.js
כדי להריץ את הדוגמה, מחליפים את הערכים הבאים:
-
SPACE_NAME: המזהה מnameשל המרחב. אפשר לקבל את המזהה על ידי הפעלת השיטהListSpaces()או מכתובת ה-URL של המרחב. -
MEMBER_NAME: המזהה מתוךnameשל החברות. אפשר לקבל את המזהה על ידי קריאה לשיטהListMemberships()או מגוף התגובה שמוחזר אחרי יצירת חברות באופן אסינכרוני באמצעות Chat API. -
ROLE_NAME: התפקיד המעודכן,ROLE_MANAGER. אפשר להגדיר את הערך הזה לכל ערך שלMembershipRole. לדוגמה, כדי להפוך משתמש רגיל למנהל המרחב, משנים אתROLE_NAMEל-ROLE_ASSISTANT_MANAGER.
ממשק Chat API מעדכן את החברות שצוינה לבעלות על המרחב ומחזיר מופע של Membership.
שינוי התפקיד של בעלים למשתמש/ת (אימות משתמש)
בדוגמה הבאה מתבצעת קריאה ל-Chat API באמצעות אימות משתמשים כדי להפוך את הבעלים של המרחב לחבר רגיל במרחב. לשם כך מציינים את הערך role כ-ROLE_MEMBER:
Node.js
כדי להריץ את הדוגמה, מחליפים את הערכים הבאים:
-
SPACE_NAME: המזהה מnameשל המרחב. אפשר לקבל את המזהה על ידי הפעלת השיטהListSpaces()או מכתובת ה-URL של המרחב. -
MEMBER_NAME: המזהה מתוךnameשל החברות. אפשר לקבל את המזהה על ידי קריאה לשיטהListMemberships()או מגוף התגובה שמוחזר אחרי יצירת חברות באופן אסינכרוני באמצעות Chat API. -
ROLE_NAME: התפקיד המעודכן,ROLE_MEMBER.
ממשק Chat API מעדכן את החברות שצוינה לבעלות על המרחב ומחזיר מופע של Membership.
שינוי התפקיד של משתמש/ת מחבר/ה לקבוצה לבעלים (אימות באפליקציית Chat)
כדי לאמת אפליקציה, נדרש אישור אדמין חד-פעמי.
כתיבת סקריפט שקורא ל-Chat API
בדוגמה הבאה מבוצעת קריאה ל-Chat API באמצעות אימות אפליקציה כדי להגדיר חבר רגיל במרחב כבעלים של המרחב. לשם כך מציינים את role כ-ROLE_MANAGER ב-body שמציין את מאפייני החברות המעודכנים:
Python
- בספריית העבודה, יוצרים קובץ בשם
chat_membership_update_to_owner_app.py. מוסיפים את הקוד הבא אל
chat_membership_update_to_owner_app.py:from google.oauth2 import service_account from apiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships"] def main(): ''' Authenticates with Chat API using app authentication, then updates a specified space member to change it from a regular member to a space owner. ''' # 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) # Use the service endpoint to call Chat API. result = chat.spaces().members().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', # Replace ROLE with a MembershipRole value. # Obtain the MembershipRole values from the membership of Chat API. body={'role': 'ROLE'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()בקוד, מחליפים את מה שכתוב בשדות הבאים:
SPACE: שם המרחב, שאפשר לקבל באמצעות השיטהspaces.listב-Chat API, או מכתובת ה-URL של המרחב.
MEMBERSHIP: שם החברות, שאפשר לקבל באמצעות method spaces.members.listב-Chat API.
ROLE: התפקיד המעודכן,ROLE_MANAGER. אפשר להגדיר את הערך הזה לכל ערך שלMembershipRole. לדוגמה, כדי להפוך את המשתמש הרגיל למנהל המרחב, משנים אתROLEל-ROLE_ASSISTANT_MANAGER.
בספריית העבודה, מבצעים build ומריצים את הדוגמה:
python3 chat_membership_update_to_owner_app.py
שינוי התפקיד של בעלים למשתמש/ת שהצטרף/ה (אימות באפליקציית Chat)
כדי לאמת אפליקציה, נדרש אישור אדמין חד-פעמי.
כתיבת סקריפט שקורא ל-Chat API
בדוגמה הבאה מבוצעת קריאה ל-Chat API באמצעות אימות אפליקציה כדי להפוך את הבעלים של המרחב לחבר רגיל במרחב. לשם כך, מציינים את role כ-ROLE_MEMBER ב-body שמציין את מאפייני החברות המעודכנים:
Python
- בספריית העבודה, יוצרים קובץ בשם
chat_membership_update_to_member_app.py. מוסיפים את הקוד הבא אל
chat_membership_update_to_member_app.py:from google.oauth2 import service_account from apiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then updates a specified space owner to change it to a regular member. ''' # 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) # Use the service endpoint to call Chat API. result = chat.spaces().members().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MEMBER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()בקוד, מחליפים את מה שכתוב בשדות הבאים:
SPACE: שם המרחב, שאפשר לקבל באמצעות השיטהspaces.listב-Chat API, או מכתובת ה-URL של המרחב.
MEMBERSHIP: שם החברות, שאפשר לקבל באמצעות method spaces.members.listב-Chat API.
בספריית העבודה, מבצעים build ומריצים את הדוגמה:
python3 chat_membership_update_to_member_app.py
עדכון חברות כאדמין ב-Google Workspace
אדמינים ב-Google Workspace יכולים להתקשר לשיטת update()
כדי לעדכן את החברות בכל מרחב בארגון שלהם ב-Google Workspace.
כדי להפעיל את ה-method הזה כאדמינים ב-Google Workspace, צריך לבצע את הפעולות הבאות:
- קוראים ל-method באמצעות אימות משתמש, ומציינים היקף הרשאות שתומך בקריאה ל-method באמצעות הרשאות אדמין.
- בבקשה, מציינים את פרמטר השאילתה
useAdminAccessכ-true.
מידע נוסף ודוגמאות זמינים במאמר ניהול מרחבים ב-Google Chat כאדמינים ב-Google Workspace.
נושאים קשורים
- הזמנה או הוספה של משתמש או אפליקציה של Google Chat למרחב.
- קבלת פרטים על החברות של משתמש או של אפליקציה ל-Chat
- איך רואים את רשימת המשתתפים במרחבים משותפים
- הסרת משתמש או אפליקציה ל-Chat ממרחב