איך מסירים אנשים ממרחבים משותפים

במדריך הזה נסביר איך להשתמש ב-method‏ delete() במשאב Membership של Google Chat API כדי להסיר משתמשים ממרחב משותף, שנקרא גם מחיקת חברות במרחב המשותף. אי אפשר להסיר מנהלי מרחבים משותפים אם הם המנהלים היחידים במרחב המשותף. לפני שמסירים את החברויות האלה, צריך להקצות משתמש אחר כמנהל המרחב המשותף.

אדמינים ב-Google Workspace יכולים להסיר משתמשים, קבוצות Google או אפליקציות Chat מכל מרחב משותף בארגון ב-Google Workspace.

המשאבים מסוג Membership מייצגים אם משתמש אנושי או אפליקציית Google Chat מוזמנים למרחב משותף, אם הם חלק ממנו או אם הם לא נמצאים בו.

דרישות מוקדמות

Node.js

הסרת משתמש מהמרחב המשותף

כדי להסיר משתמש, קבוצת Google או אפליקציית Chat ממרחב עם אימות משתמשים, צריך להעביר את הפרטים הבאים בבקשה:

  • מציינים את היקף ההרשאה chat.memberships. למשתמש המאשר צריכה להיות הרשאה להסיר את המשתמש או את קבוצת Google מהמרחב המשותף. כדי להסיר אפליקציית Chat, צריך לציין את היקף ההרשאה chat.memberships.app (אפליקציות יכולות למחוק רק את החברות שלהן, ולא את החברות של אפליקציות אחרות). מומלץ לבחור את ההיקף המגביל ביותר שעדיין מאפשר לאפליקציה לפעול.
  • קוראים ל-method‏ DeleteMembership().
  • מעבירים את name של המינוי שרוצים למחוק. אם החברות במרחב המשותף שייכת למנהל/ת היחיד/ה שלו, צריך להקצות משתמש אחר כמנהל/ת לפני שמוחקים את החברות הזו.

כך מוחקים מינוי עם אימות משתמש:

Node.js

chat/client-libraries/cloud/delete-space-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.delete'];

// This sample shows how to delete a space with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME here
    name: 'spaces/SPACE_NAME'
  };

  // Make the request
  const response = await chatClient.deleteSpace(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

כדי להריץ את הדוגמה הזו, מחליפים את הפרטים הבאים:

  • SPACE_NAME: המזהה מ-name של המרחב המשותף. אפשר לקבל את המזהה באמצעות הקריאה ל-method‏ ListSpaces() או מכתובת ה-URL של המרחב המשותף.
  • MEMBER_NAME: המזהה מ-name של המשתמש. אפשר לקבל את המזהה על ידי קריאה ל-method‏ ListMemberships().

אם הפעולה תצליח, גוף התגובה יחזיר את החברות עם הערך 'state': 'NOT_A_MEMBER', שמציין שהמשתמש כבר לא נמצא במרחב המשותף.

{
    "name": "spaces/SPACE_NAME/members/MEMBER_NAME",
    "state": "NOT_A_MEMBER"
}

איך מסירים משתמש ממרחבים משותפים באפליקציית Chat

כדי לאמת אפליקציה, נדרש אישור אדמין חד-פעמי.

כדי להסיר משתמש, קבוצת Google או אפליקציית Chat ממרחב משותף עם אימות באמצעות אפליקציה, צריך להעביר את הפרטים הבאים בבקשה:

  • מציינים את היקף ההרשאה chat.app.memberships. אפשר למחוק את הבעלות של מנהל או מנהלת מרחב משותף רק במרחבים שנוצרו על ידי אפליקציות Chat.
  • קוראים לmethod‏ delete במשאב membership.
  • מעבירים את name של המינוי שרוצים למחוק. אם החברות במרחב המשותף שייכת למנהל/ת היחיד/ה שלו, צריך להקצות משתמש אחר כמנהל/ת לפני שמוחקים את החברות הזו.

יצירה של מפתח API

כדי לקרוא ל-method של API בתצוגה מקדימה למפתחים, צריך להשתמש בגרסה לא ציבורית של מסמך חשיפת ה-API בתצוגה מקדימה למפתחים. כדי לאמת את הבקשה, צריך להעביר מפתח API.

כדי ליצור את מפתח ה-API, פותחים את הפרויקט של האפליקציה ב-Google Cloud ומבצעים את הפעולות הבאות:

  1. במסוף Google Cloud, נכנסים לתפריט > APIs & Services > Credentials.

    כניסה לדף Credentials

  2. לוחצים על Create credentials (יצירת פרטי כניסה) > API key (מפתח API).
  3. מפתח ה-API החדש מוצג.
    • לוחצים על סמל ההעתקה כדי להעתיק את מפתח ה-API לשימוש בקוד של האפליקציה. אפשר למצוא את מפתח ה-API גם בקטע 'מפתחות API' בפרטי הכניסה של הפרויקט.
    • לוחצים על Restrict key כדי לעדכן את ההגדרות המתקדמות ולהגביל את השימוש במפתח ה-API. פרטים נוספים זמינים במאמר החלת הגבלות על מפתחות API.

כתיבת סקריפט שמפעיל את Chat API

כך מוחקים מינוי עם אימות באפליקציה:

Python

  1. בספריית העבודה, יוצרים קובץ בשם chat_membership_delete_app.py.
  2. מוסיפים את הקוד הבא ב-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, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY')
    
        # 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()
    
  3. בקוד, מחליפים את הפרטים הבאים:

    • API_KEY: מפתח ה-API שיצרתם כדי ליצור את נקודת הקצה של השירות ל-Chat API.

    • SPACE: שם של מרחבים משותפים. אפשר לקבל את השם מהשיטה spaces.list ב-Chat API או מכתובת ה-URL של המרחב המשותף.

    • MEMBER: שם החברות, שאפשר לקבל מmethod ‏spaces.members.list ב-Chat API. כדי למחוק את החברות במועדון של אפליקציה, מחליפים את הערך MEMBER בערך app.

  4. בספריית העבודה, יוצרים ומריצים את הדוגמה:

    python3 chat_membership_delete_app.py

אם הפעולה תצליח, גוף התגובה יחזיר את החברות עם הערך 'state': 'NOT_A_MEMBER', שמציין שהמשתמש כבר לא נמצא במרחב המשותף.

{
    "name": "spaces/SPACE/members/MEMBER",
    "state": "NOT_A_MEMBER"
}

מגבלות ושיקולים

  • כשמשתמשים באימות אפליקציה, אפשר להסיר משתמשים מאפליקציית Chat, אבל אי אפשר להסיר קבוצות Google.

איך מסירים משתמשים או קבוצות Google ממרחבים משותפים כאדמינים ב-Google Workspace

אדמינים ב-Google Workspace יכולים להפעיל את השיטה DeleteMembership() כדי להסיר משתמשים, קבוצות Google או אפליקציות Chat מכל מרחב משותף בארגון שלהם ב-Google Workspace.

כדי לקרוא ל-method הזה כאדמינים ב-Google Workspace:

  • קוראים לשיטה באמצעות אימות משתמש, ומציינים היקף הרשאה שתומך בקריאה לשיטה באמצעות הרשאות אדמין.
  • בבקשה, מציינים את פרמטר השאילתה useAdminAccess עד true.

למידע נוסף ולדוגמאות, ראו ניהול מרחבים משותפים ב-Google Chat כאדמינים ב-Google Workspace.