إزالة عضو من مساحة

يشرح هذا الدليل طريقة استخدام طريقة delete على مورد membership في Google Chat API لإزالة عضو من مساحة تُعرَف أيضًا باسم "حذف العضوية". لا يمكن إزالة مدراء المساحات إذا كانوا المدير الوحيد لها. عليك تعيين مستخدم آخر كمدير قبل إزالة هذه العضويات.

يوضّح المورد Membership ما إذا تمت دعوة المستخدم البشري أو تطبيق Google 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.memberships أو chat.memberships.app من مستخدم لديه الإذن بحذف الاشتراك المحدّد.

إزالة عضو من مساحة

لإزالة مستخدم أو "مجموعة Google" أو تطبيق Chat من مساحة، اتّبِع الخطوات التالية:

  • لإزالة مستخدم أو "مجموعة Google"، حدِّد نطاق تفويض "chat.memberships". لإزالة تطبيق في Chat، حدِّد نطاق تفويض chat.memberships.app (يمكن للتطبيقات حذف عضويتها الخاصة فقط، وليس اشتراك التطبيقات الأخرى). كأفضل ممارسة، اختر النطاق الأكثر تقييدًا الذي لا يزال يسمح لتطبيقك بالعمل.
  • يمكنك استدعاء طريقة delete على membership المورد.
  • عليك اجتياز name للعضوية لحذفها. إذا كانت العضوية تعود إلى المدير الوحيد في المساحة، يمكنك تعيين مستخدم آخر كمدير قبل حذف هذه العضوية.

إليك كيفية حذف عضوية:

Python

  1. في دليل العمل، أنشِئ ملفًا باسم "chat_membership_delete.py".
  2. أدرِج الرمز التالي في chat_membership_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.memberships.app"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then deletes the specified membership.
        '''
    
        # 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().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. في الرمز، استبدل ما يلي:

    • SPACE: اسم مساحة يمكنك الحصول عليه من طريقة spaces.list في Chat API أو من عنوان URL للمساحة.

    • MEMBER: اسم اشتراك يمكنك الحصول عليه من خلال طريقة spaces.members.list في Chat API. لحذف اشتراك في تطبيق، يمكنك استبدال MEMBER بـ "app".

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

    python3 chat_membership_delete.py
    

في حال نجاح الإجراء، يعرض نص الاستجابة الاشتراك مع 'state': 'NOT_A_MEMBER'، ما يشير إلى أنّ العضو لم يعُد في المساحة.

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