حذف مساحة

يشرح هذا الدليل طريقة استخدام طريقة delete على مورد Space من Google Chat API لحذف مساحة معيّنة عند عدم الحاجة إليها. يؤدي حذف المساحة إلى حذف كل ما تحتويه أيضًا، بما في ذلك الرسائل والمرفقات.

يمثّل مورد Space مكانًا يمكن فيه للمستخدمين وتطبيقات Chat إرسال الرسائل ومشاركة الملفات والتعاون. تتوفّر عدة أنواع من المساحات:

  • الرسائل المباشرة هي محادثات بين مستخدمَين أو مستخدم وتطبيق Chat.
  • المحادثات الجماعية هي محادثات بين ثلاثة مستخدمين أو أكثر وتطبيقات Chat.
  • المساحات المُسمّاة هي أماكن دائمة يرسل من خلالها المستخدمون الرسائل ويشاركون الملفات ويتعاونون في ما بينها.

المتطلّبات الأساسية

Python

  • Python 3.6 أو أعلى
  • تتيح لك أداة pip إدارة الحزم
  • أحدث مكتبات برامج Google للغة بايثون. لتثبيتها أو تحديثها، قم بتشغيل الأمر التالي في واجهة سطر الأوامر لديك:

    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.
  • استدعِ طريقة 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 باسم المساحة، والذي يمكنك الحصول عليه من خلال طريقة 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 باسم مساحة، ويمكنك الحصول عليه من خلال طريقة spaces.list في Chat API أو من عنوان URL للمساحة.

  4. في دليل العمل، شغِّل النموذج:

    node delete-space.js
    

    إذا كانت الاستجابة ناجحة، يكون نص الاستجابة فارغًا، مما يشير إلى أن المساحة محذوفة.