إدراج أعضاء في مساحة

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

يوضّح المورد Membership ما إذا تمت دعوة المستخدم البشري أو تطبيق Google Chat إلى مساحة أو جزء منها أو غير موجود فيها.

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

Python

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

    pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
    
  • مشروع على Google Cloud مع تفعيل وإعداد Google Chat API لمعرفة الخطوات، راجِع إنشاء تطبيق Google Chat.
  • تم ضبط التفويض لتطبيق Chat. تتيح بيانات العضوية استخدام طريقتَي المصادقة التاليتَين:

إدراج أعضاء في مساحة باستخدام مصادقة المستخدم

لإدراج المستخدمين و"مجموعات Google" وتطبيق Chat في مساحة يمكن للمستخدم الذي تمت المصادقة عليه الوصول إليها، عليك تضمين ما يلي في طلبك:

يسرد المثال التالي "مجموعة Google" والمستخدمين وأعضاء التطبيق المرئيين للمستخدم الذي تمت المصادقة عليه.

Python

  1. في دليل العمل، أنشِئ ملفًا باسم "chat_member_list_user.py".
  2. أدرِج الرمز التالي في chat_member_list_user.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.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then lists Google Group, human, and app members in a 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().members().list(
    
            # The space for which to list memberships.
            parent = 'spaces/SPACE',
    
            # Set this parameter to list Google Groups.
            showGroups = 'true'
    
        ).execute()
    
        # Prints the list of memberships.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. في الرمز، استبدِل SPACE باسم مساحة، ويمكنك الحصول عليه من خلال طريقة spaces.list في Chat API أو من عنوان URL للمساحة.

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

    python3 chat_member_list_user.py
    

تعرض Google Chat API قائمة بأعضاء التطبيق والمستخدمين وأعضاء "مجموعة Google" من المساحة المحددة.

إدراج أعضاء في مساحة باستخدام مصادقة التطبيقات

لإدراج المستخدمين وتطبيق Chat في مساحة يمكن للتطبيق الذي تمت مصادقته الوصول إليه، عليك تضمين ما يلي في طلبك:

يسرد المثال التالي أعضاء المساحة البشرية (وليس مدراء المساحة) المرئيين لتطبيق Chat:

Python

  1. في دليل العمل، أنشِئ ملفًا باسم "chat_member_list_app.py".
  2. أدرِج الرمز التالي في chat_member_list_app.py:

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = (
        service_account.Credentials.from_service_account_file('credentials.json')
        .with_scopes(SCOPES)
    )
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Use the service endpoint to call Chat API.
    result = chat.spaces().members().list(
    
            # The space for which to list memberships.
            parent = 'spaces/SPACE',
    
            # An optional filter that returns only human space members.
            filter = 'member.type = "HUMAN" AND role = "ROLE_MEMBER"'
    
        ).execute()
    
    print(result)
    
  3. في الرمز، استبدِل SPACE باسم مساحة، ويمكنك الحصول عليه من خلال طريقة spaces.list في Chat API أو من عنوان URL للمساحة.

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

    python3 chat_member_list_app.py
    

تعرض Google Chat API قائمة بأعضاء المساحة البشرية (باستثناء مدراء المساحة) من المساحة المحدّدة.

تخصيص عملية التقسيم على صفحات أو فلترة القائمة

لإدراج العضويات، أدخِل مَعلمات طلب البحث التالية لتخصيص تقسيم العضويات المدرَجة على صفحات أو فلترتها:

  • pageSize: الحدّ الأقصى لعدد العضويات المطلوب عرضها قد ترجع الخدمة أقل من هذه القيمة. وفي حال عدم تحديد ذلك، يتم إرجاع 100 مسافة كحدّ أقصى. الحد الأقصى للقيمة هو 1000، ويتم تغيير القيم الأعلى من 1000 تلقائيًا إلى 1000.
  • pageToken: رمز مميّز للصفحة تم تلقّيه من استدعاء سابق لمساحات عمل في القائمة قدِّم هذا الرمز المميّز لاسترداد الصفحة التالية. عند التقسيم على صفحات، ينبغي أن تتطابق قيمة الفلتر مع الاستدعاء الذي قدم الرمز المميز للصفحة. قد يؤدي تمرير قيمة مختلفة إلى نتائج غير متوقعة.
  • filter: فلتر طلب بحث تتطلب مصادقة المستخدم. للحصول على تفاصيل طلبات البحث المتوافقة، راجِع طريقة spaces.members.list.