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

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

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

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

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

  • مشروع برمجة تطبيقات:
    • استخدِم مشروعك على Google Cloud بدلاً من المشروع التلقائي الذي أنشأه Apps Script تلقائيًا.
    • بالنسبة إلى أي نطاقات أضفتها لضبط شاشة طلب الموافقة على 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().

يعرض نموذج الرمز البرمجي التالي صفيفًا من عناصر 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 العناصر التي تتطابق مع الفلتر لطلب البحث.