איך מסירים אנשים ממרחבים משותפים (original) (raw)
במדריך הזה מוסבר איך להשתמש בשיטהdelete()במשאב Membership של Google Chat API כדי להסיר משתתפים ממרחב, פעולה שנקראת גם מחיקת חברות. אי אפשר להסיר מנהלי מרחב אם הם המנהלים היחידים במרחב. לפני שמסירים את החברות במרחב, צריך להקצות משתמש אחר כמנהל המרחב.
אדמינים ב-Google Workspace יכולים להסיר משתמשים, קבוצות Google או אפליקציות ל-Chat מכל מרחב בארגון שלהם ב-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.
- מרחב ב-Google Chat. במאמר יצירת מרחב מוסבר איך ליצור מרחב באמצעות Google Chat API. כדי ליצור מרחב ב-Chat, אפשר לעיין במסמכי מרכז העזרה.
הסרת משתמש ממרחב
כדי להסיר משתמש, קבוצת Google או אפליקציית Chat ממרחב עם אימות משתמשים, צריך להעביר את הפרטים הבאים בבקשה:
- מציינים את
chat.membershipsהיקף ההרשאה. למשתמש שנותן את ההרשאה צריכה להיות הרשאה להסיר את המשתמש או את קבוצת Google מהמרחב. כדי להסיר אפליקציה ל-Chat, צריך לציין את היקף ההרשאותchat.memberships.app(אפליקציות יכולות למחוק רק את החברות שלהן, ולא את החברות של אפליקציות אחרות). מומלץ לבחור את ההיקף הכי מצומצם שעדיין מאפשר לאפליקציה לפעול. - מבצעים קריאה ל-method DeleteMembership().
- מעבירים את
nameשל המינוי למחיקה. אם החברות שייכת למנהל היחיד במרחב, צריך להקצות משתמש אחר כמנהל במרחב לפני שמוחקים את החברות הזו.
כך מוחקים חברות עם אימות משתמש:
Node.js
כדי להריץ את הדוגמה הזו, מחליפים את הערכים הבאים:
-
SPACE_NAME: המזהה מתוך name של המרחב. אפשר לקבל את המזהה באמצעות הקריאה ל-method ListSpaces() או מכתובת ה-URL של המרחב. -
MEMBER_NAME: המזהה מתוך name של החבר. אפשר לקבל את המזהה באמצעות הפעלת השיטה ListMemberships().
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יחזיר את החברות עם 'state': 'NOT_A_MEMBER', מה שמציין שהמשתמש כבר לא חבר במרחב.
{ "name": "spaces/SPACE_NAME/members/MEMBER_NAME", "state": "NOT_A_MEMBER" }
איך מסירים משתמשים ממרחבים באמצעות אפליקציית Chat
כדי לאמת אפליקציה, נדרש אישור אדמין חד-פעמי.
כדי להסיר משתמש, קבוצת Google או אפליקציה של Chat ממרחב עם אימות אפליקציה, צריך להעביר את הפרטים הבאים בבקשה:
- מציינים את
chat.app.membershipsהיקף ההרשאה. אפשר להסיר מנהלים רק במרחבים שנוצרו על ידי אפליקציות ל-Chat. - מפעילים את השיטה delete במשאב membership.
- מעבירים את
nameשל המינוי למחיקה. אם החברות שייכת למנהל היחיד במרחב, צריך להקצות משתמש אחר כמנהל במרחב לפני שמוחקים את החברות הזו.
כתיבת סקריפט שקורא ל-Chat API
כדי למחוק מינוי באמצעות אימות באפליקציה:
Python
- בספריית העבודה, יוצרים קובץ בשם
chat_membership_delete_app.py. - מוסיפים את הקוד הבא ב-
chat_membership_delete_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 deletes the specified membership.
'''
# 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().delete(
# The membership to delete.
#
# Replace SPACE with a space name.
# Obtain the space name from the spaces resource of Chat API,
# or from a space's URL.
#
# Replace MEMBER with a membership name.
# Obtain the membership name from the memberships resource of
# Chat API. To delete a Chat app's membership, replace MEMBER
# with app; an alias for the app calling the API.
name='spaces/SPACE/members/MEMBER'
).execute()
# Print Chat API's response in your command line interface.
# When deleting a membership, the response body is empty.
print(result)
if __name__ == '__main__':
main() - בקוד, מחליפים את מה שכתוב בשדות הבאים:
-
SPACE: שם המרחב, שאפשר לקבל באמצעות השיטה spaces.list ב-Chat API, או מכתובת ה-URL של המרחב. -
MEMBER: שם החברות, שאפשר לקבל באמצעות spaces.members.list method ב-Chat API. כדי למחוק את המינוי של האפליקציה, מחליפים אתMEMBERב-app.
-
- בספריית העבודה, מפתחים ומריצים את הדוגמה:
python3 chat_membership_delete_app.py אם הפעולה בוצעה ללא שגיאות, גוף התגובה יחזיר את החברות עם 'state': 'NOT_A_MEMBER', מה שמציין שהמשתמש כבר לא חבר במרחב.
{ "name": "spaces/SPACE/members/MEMBER", "state": "NOT_A_MEMBER" }
איך מסירים משתמשים או קבוצות Google ממרחב כאדמינים ב-Google Workspace
אדמינים ב-Google Workspace יכולים להשתמש בשיטה DeleteMembership() כדי להסיר משתמשים, קבוצות Google או אפליקציות ל-Chat מכל מרחב בארגון שלהם ב-Google Workspace.
כדי להפעיל את ה-method הזה כאדמינים ב-Google Workspace, צריך לבצע את הפעולות הבאות:
- קוראים ל-method באמצעות אימות משתמש, ומציינים היקף הרשאות שתומך בקריאה ל-method באמצעות הרשאות אדמין.
- בבקשה, מציינים את פרמטר השאילתה
useAdminAccessכ-true.
מידע נוסף ודוגמאות זמינים במאמר ניהול מרחבים ב-Google Chat כאדמינים ב-Google Workspace.
מגבלות ושיקולים
- באמצעות אימות אפליקציות, אפליקציית Chat יכולה להסיר משתמשים, אבל לא קבוצות Google או אפליקציות Chat.
- קבלת פרטים על החברות של משתמש או של אפליקציה ל-Chat
- הצגת רשימת המשתתפים במרחב.
- עדכון החברות של משתמש במרחב ב-Google Chat.
- הזמנה או הוספה של משתמש או אפליקציית Chat למרחב.