במדריך הזה מוסבר איך להשתמש בשיטה 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.
ממשק Google 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.
ממשק Google 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.
בספריית העבודה, מפתחים ומריצים את הדוגמה:
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.
בספריית העבודה, מפתחים ומריצים את הדוגמה:
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 ממרחב