إدراج اشتراكات Google Workspace

توضّح هذه الصفحة كيفية إدراج اشتراكات Google Workspace باستخدام الطريقة subscriptions.list().

عند استدعاء هذه الطريقة مع مصادقة المستخدم، تعرض الطريقة قائمة بالاشتراكات التي وافق عليها المستخدم. عند استخدام مصادقة التطبيق، يمكن أن تعرض الطريقة قائمة تحتوي على أي اشتراك للتطبيق.

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

برمجة تطبيقات

  • مشروع "برمجة تطبيقات Google":
    • استخدِم مشروعك على Google Cloud بدلاً من المشروع التلقائي الذي أنشأته برمجة التطبيقات تلقائيًا.
    • بالنسبة إلى أي نطاقات أضفتها لضبط شاشة طلب الموافقة على OAuth، عليك أيضًا إضافة نطاقات إلى ملف appsscript.json في مشروعك على Apps Script. على سبيل المثال:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • فعِّل الخدمة المتقدّمة Google Workspace Events.

Python

  • الإصدار 3.6 من Python أو إصدار أحدث
  • أداة إدارة الحِزم pip
  • أحدث مكتبات عملاء Google للغة Python لتثبيتها أو تحديثها، نفِّذ الأمر التالي في واجهة سطر الأوامر:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      
  • اشتراك Google Workspace لإنشاء اشتراك، يُرجى الاطّلاع على إنشاء اشتراك.

  • تتطلّب المصادقة:

    • لمصادقة المستخدم، يجب أن يتوفّر نطاق يتيح استخدام نوع واحد على الأقل من أنواع الأحداث للاشتراك. لتحديد نطاق، اطّلِع على النطاقات حسب نوع الحدث.
    • بالنسبة إلى مصادقة التطبيقات، يتطلب النطاق chat.bot (تطبيقات Google Chat فقط).

إدراج الاشتراكات التي سمح بها المستخدم

لعرض الاشتراكات، عليك الفلترة حسب نوع حدث واحد على الأقل. يمكنك أيضًا فلترة طلب البحث حسب مورد مستهدَف واحد أو أكثر. للتعرّف على مزيد من المعلومات حول فلاتر طلبات البحث المتوافقة، اطّلِع على مستندات list() method.

يعرض نموذج الرمز البرمجي التالي صفيفًا من عناصر Subscription المفلترة حسب نوع الحدث والمورد المستهدَف. عند المصادقة كمستخدم، لا تعرض المحاولة سوى قائمة بالاشتراكات التي فوّض المستخدم للتطبيق بإنشائها.

لعرض الاشتراكات لنوع حدث ومستهدَف محدّدَين:

برمجة تطبيقات

  1. في مشروعك على Apps Script، أنشئ ملف نص برمجي جديد باسم listSubscriptions وأضِف الرمز التالي:

    function listSubscriptions() {
      // Filter for event type (required).
      const eventType = 'EVENT_TYPE';
    
      // Filter for target resource (optional).
      const targetResource = 'TARGET_RESOURCE';
    
      const filter = `event_types:"${eventType}" AND target_resource="${targetResource}"`
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.list({ filter });
      console.log(response);
    }
    

    غيِّر القيم في السلسلة على الشكل التالي:

    • EVENT_TYPE: نوع حدث مُعدَّم وفقًا لمواصفات CloudEvents على سبيل المثال، للفلترة حسب الاشتراكات التي تتلقّى أحداثًا عن العضويات الجديدة في مساحة Google Chat، google.workspace.chat.message.v1.created.
    • TARGET_RESOURCE: مورد مستهدَف، بتنسيق اسم المورد الكامل على سبيل المثال، للفلترة حسب الاشتراكات في مساحة Google Chat، استخدِم //chat.googleapis.com/spaces/SPACE_ID حيث يمثّل spaces/SPACE_ID حقل name لمورد Space.
  2. لعرض الاشتراكات، شغِّل الدالة listSubscriptions في مشروعك على Apps Script.

Python

  1. في دليل العمل، أنشئ ملفًا باسم list_subscriptions.py وأضِف الرمز التالي:

    """List subscriptions."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['SCOPE']
    
    # Authenticate with Google Workspace and get user authentication.
    flow = InstalledAppFlow.from_client_secrets_file('client_secrets.json', SCOPES)
    CREDENTIALS = flow.run_local_server()
    
    # Call the Workspace Events API using the service endpoint.
    service = build(
        'workspaceevents',
        'v1',
        credentials=CREDENTIALS,
    )
    
    # Filter for event type (required).
    EVENT_TYPE = 'EVENT_TYPE'
    
    # Filter for target resource (optional).
    TARGET_RESOURCE = 'TARGET_RESOURCE'
    
    FILTER = f'event_types:"{EVENT_TYPE}" AND target_resource="{TARGET_RESOURCE}"'
    response = service.subscriptions().list(filter=FILTER).execute()
    print(response)
    

    غيِّر القيم في السلسلة على الشكل التالي:

    • SCOPE: نطاق OAuth يتوافق مع نوع حدث واحد على الأقل من الاشتراك على سبيل المثال، إذا كان اشتراكك يتلقّى أحداثًا مساحة Chat معدَّلة، https://www.googleapis.com/auth/chat.spaces.readonly.
    • EVENT_TYPE: نوع حدث مُعدَّم وفقًا لمواصفات CloudEvents على سبيل المثال، للفلترة حسب الاشتراكات التي تتلقّى أحداثًا عن العضويات الجديدة في مساحة Google Chat، google.workspace.chat.message.v1.created.
    • TARGET_RESOURCE: مورد مستهدَف، بتنسيق اسم المورد الكامل على سبيل المثال، للفلترة حسب الاشتراكات في مساحة Google Chat، استخدِم //chat.googleapis.com/spaces/SPACE_ID حيث يمثّل spaces/SPACE_ID حقل name لمصدر Space.
  2. في دليل العمل، تأكَّد من تخزين بيانات اعتماد معرّف العميل في OAuth واسم الملف client_secrets.json. يستخدم نموذج الرمز هذا ملف JSON هذا للمصادقة مع Google Workspace والحصول على بيانات اعتماد المستخدم. لمعرفة التعليمات، يُرجى الاطّلاع على إنشاء بيانات اعتماد معرِّف عميل OAuth.

  3. لإدراج الاشتراكات، شغِّل ما يلي في الوحدة الطرفية:

    python3 list_subscriptions.py

تُعرِض Google Workspace Events API صفيفًا مُقسَّمًا إلى صفحات من Subscription العناصر التي تتطابق مع الفلتر لطلب البحث.