إزالة مستخدم أو تطبيق Google Chat من مساحة

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

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

إزالة مستخدم أو تطبيق Chat من مساحة

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

  • لإزالة مستخدم، حدِّد نطاق تفويض 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"
}