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

במדריך הזה נסביר איך להשתמש ב-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 (אפליקציות יכולות למחוק רק את מינוי עצמי ולא את זה של אפליקציות אחרות). מומלץ לבחור את ההיקף המגביל ביותר שעדיין מאפשר לאפליקציה לפעול.
  • קוראים לפונקציה 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 של המרחב המשותף. אפשר לקבל את התעודה המזהה בטלפון 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 של Developer Preview API, צריך להשתמש בגרסת תצוגה מקדימה למפתחים שאינה ציבורית של מסמך הגילוי של ה-API. כדי לאמת את הבקשה, צריך להעביר מפתח API.

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

  1. במסוף Google Cloud, נכנסים לתפריט > ממשקי API ו Services (שירותים) > פרטי כניסה.

    כניסה לדף Credentials

  2. לוחצים על יצירת פרטי כניסה >. API key.
  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: שם של מרחב, שאפשר לקבל ממנו ה-method 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 של הארגון.

כדי להפעיל את השיטה הזו כאדמין ב-Google Workspace, צריך לבצע את הפעולות הבאות:

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

מידע נוסף ודוגמאות זמינים במאמר ניהול מרחבים ב-Google Chat בתור אדמינים ב-Google Workspace