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

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

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

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

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

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

Python

  • Python 3.6 أو أحدث
  • أداة إدارة الحزمة 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: نوع حدث يتم تنسيقه وفقًا لمواصفات CloudEvent. على سبيل المثال، لفلترة الاشتراكات التي تتلقّى أحداثًا عن العضويات الجديدة في مساحة 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 في مشروع "برمجة التطبيقات".

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: نوع حدث يتم تنسيقه وفقًا لمواصفات CloudEvent. على سبيل المثال، لفلترة الاشتراكات التي تتلقّى أحداثًا عن العضويات الجديدة في مساحة 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 عناصر تتطابق مع الفلتر الخاص بطلب البحث.