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

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

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

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

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

  • اشتراك Google Workspace لإنشاء اشتراك، يُرجى الاطّلاع على مقالة إنشاء اشتراك.

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

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

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. في مشروع "برمجة التطبيقات"، أنشِئ ملفًا جديدًا للبرمجة النصية باسم 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 على سبيل المثال، لفلترة الاشتراكات التي تتلقّى أحداثًا حول العضويات الجديدة في مساحة Chat، استخدِم google.workspace.chat.message.v1.created.
    • TARGET_RESOURCE: مورد مستهدف منسّق كاسم المورد الكامل على سبيل المثال، للفلترة حسب الاشتراكات في مساحة على Chat، استخدِم //chat.googleapis.com/spaces/SPACE_ID حيث spaces/SPACE_ID يمثّل name حقل Space لمورد.
  2. لإدراج الاشتراكات، شغِّل الدالة listSubscriptions في مشروع "برمجة التطبيقات".

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('credentials.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)
    

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

  2. في دليل العمل، تأكَّد من تخزين بيانات اعتماد معرّف عميل OAuth وأطلِق على الملف الاسم credentials.json. تستخدم عينة التعليمات البرمجية ملف JSON هذا للمصادقة على Google Workspace والحصول على بيانات اعتماد المستخدم. للحصول على التعليمات، يُرجى الاطّلاع على مقالة إنشاء بيانات اعتماد معرّف عميل OAuth .

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

    python3 list_subscriptions.py

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