איך מוחקים מרחבים משותפים?

במדריך הזה מוסבר איך משתמשים ב-method delete במשאב Space של Google Chat API כדי למחוק מרחב משותף עם שם שכבר לא צריך אותו. מחיקה של מרחב משותף מוחקת גם את כל התוכן שלו, כולל הודעות וקבצים מצורפים.

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

  • צ'אטים אישיים (DM) הם שיחות בין שני משתמשים או משתמש ואפליקציית Chat.
  • צ'אטים קבוצתיים הם שיחות בין שלושה משתמשים או יותר לבין אפליקציות צ'אט.
  • מרחבים עם שמות הם מקומות שבהם אנשים יכולים לשלוח הודעות, לשתף קבצים ולעבוד עליהם בשיתוף פעולה.

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

Python

  • Python 3.6 ומעלה
  • הכלי pip לניהול חבילות
  • ספריות הלקוח העדכניות של Google ל-Python. כדי להתקין או לעדכן אותם, מריצים את הפקודה הבאה בממשק שורת הפקודה:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • פרויקט ב-Google Cloud שמופעל ומוגדר בו Google Chat API. במאמר איך מפתחים אפליקציות ב-Google Chat מוסבר איך עושים את זה.
  • הוגדרה הרשאה לאפליקציית Chat. כדי למחוק מרחב משותף, צריך לבצע אימות משתמש עם היקף ההרשאה chat.delete ממשתמש שיש לו הרשאה למחוק את המרחב המשותף.

Node.js

  • Node.js ו-npm
  • ספריות הלקוח העדכניות של Google ל-Node.js. כדי להתקין אותם, מריצים את הפקודה הבאה בממשק שורת הפקודה:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • פרויקט ב-Google Cloud שמופעל ומוגדר בו Google Chat API. במאמר איך מפתחים אפליקציות ב-Google Chat מוסבר איך עושים את זה.
  • הוגדרה הרשאה לאפליקציית Chat. כדי למחוק מרחב משותף, צריך לבצע אימות משתמש עם היקף ההרשאה chat.delete ממשתמש שיש לו הרשאה למחוק את המרחב המשותף.

מחיקת מרחב משותף עם שם

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

  • מציינים את היקף ההרשאה chat.delete.
  • קוראים ל-method delete במשאב Space.
  • כדי למחוק את המרחב המשותף, מעבירים את name של המרחב המשותף.

כך מוחקים מרחב משותף:

Python

  1. בספריית העבודה, יוצרים קובץ בשם chat_space_delete.py.
  2. צריך לכלול את הקוד הבא ב-chat_space_delete.py:

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.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.delete"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then deletes the specified space.
        '''
    
        # Authenticate with Google Workspace
        # and get user authorization.
        flow = InstalledAppFlow.from_client_secrets_file(
                          'client_secrets.json', SCOPES)
        creds = flow.run_local_server()
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds)
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().delete(
    
              # The space 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.
              name='spaces/SPACE'
    
          ).execute()
    
        # Print Chat API's response in your command line interface.
        # When deleting a space, the response body is empty.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. בקוד, מחליפים את SPACE בשם של המרחב המשותף. אפשר לקבל אותו באמצעות ה-method spaces.list ב-Chat API או מכתובת ה-URL של המרחב.

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

    python3 chat_space_delete.py
    

Node.js

  1. בספריית העבודה, יוצרים קובץ בשם delete-space.js.
  2. צריך לכלול את הקוד הבא ב-delete-space.js:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Deletes a Chat space.
    * @return {!Promise<!Object>}
    */
    async function deleteSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.delete',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.delete({name: 'spaces/SPACE'});
    }
    
    deleteSpace().then(console.log);
    
  3. בקוד, מחליפים את SPACE בשם של מרחב משותף, שאפשר לקבל באמצעות ה-method spaces.list ב-Chat API או מכתובת ה-URL של המרחב.

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

    node delete-space.js
    

    אם הפעולה בוצעה ללא שגיאות, גוף התגובה יהיה ריק, סימן שהמרחב המשותף נמחק.