إدراج أحداث من مساحة في Google Chat

يوضّح هذا الدليل كيفية استخدام list. على المورد SpaceEvent Google Chat API لإدراج التغييرات التي تطرأ على الموارد في مساحة.

يمثّل مورد SpaceEvent تغييرًا في المساحة المستهدَفة، بما في ذلك الموارد الفرعية للمساحة مثل الرسائل والتفاعلات والعضويات. لمزيد من المعلومات عن قائمة بأنواع الأحداث وحمولات الأحداث المتوافقة، ويمكنك الاطّلاع على eventType حقلان (payload) في المورد SpaceEvent الوثائق المرجعية.

يمكنك إدراج الأحداث قبل 28 يومًا كحد أقصى من وقت الطلب. الخادم يعرض الأحداث التي تحتوي على أحدث إصدار من المورد المتأثر. مثلاً، في حال إدراج أحداث عن أعضاء المساحة الجدد، سيعرض الخادم Membership مورد يحتوي على أحدث تفاصيل الاشتراك إذا كانت الميزة جديدة عدد الأعضاء خلال الفترة المطلوبة، تحتوي حمولة الحدث على مورد Membership فارغ.

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

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

Python

سرد أحداث المساحة

لإدراج أحداث مساحة من "مساحة Chat"، اتّبِع الخطوات التالية:

  • استخدِم طريقة list في SpaceEvent المورد.
  • حدِّد أنواع الأحداث التي تريد إدراجها باستخدام الحقل filter . يجب تحديد نوع حدث واحد على الأقل، ويمكنك أيضًا الفلترة حسب التاريخ. للحصول على قائمة بأنواع الأحداث المتوافقة، راجِع eventType field.
  • مع مستخدم المصادقة، أو تحديد نطاق تفويض واحد أو أكثر لدعم كل نوع حدث في طلبك. من بين أفضل الممارسات اختيار النطاق الأكثر تقييدًا الذي يسمح بتشغيل تطبيقك. لاختيار نطاق، يمكنك الاطّلاع على نظرة عامة على المصادقة والترخيص

في نموذج الرمز البرمجي التالي، يمكنك إدراج أحداث حول الاشتراكات الداعمة الجديدة والرسائل في مساحة.

Python

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

    """Lists SpaceEvent resources from the Chat API."""
    
    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",
    "https://www.googleapis.com/auth/chat.messages.readonly"]
    
    # 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().spaceEvents().list(
    
        # The space from which to list events.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # A required filter. Filters and returns events about new memberships and messages
        filter='event_types:"google.workspace.chat.membership.v1.created" OR event_types:"google.workspace.chat.message.v1.created"'
    
    ).execute()
    
    # Prints details about the created space events.
    print(result)
    
  3. في الرمز، استبدِل ما يلي:

    • SPACE: اسم مساحة، يمكنك الحصول عليه من طريقة spaces.list في Chat API أو من عنوان URL للمساحة.
  4. في دليل العمل، أنشئ النموذج وشغِّله:

    python3 chat_space_event_list.py

تعرض Chat API قائمة بأحداث SpaceEvent الموارد المتعلّقة بالاشتراكات والرسائل الجديدة.

تخصيص عملية التقسيم على صفحات

يمكنك اختياريًا ضبط مَعلمات طلب البحث التالية لتخصيص التقسيم على صفحات:

  • pageSize: الحد الأقصى لعدد SpaceEvent من الموارد المطلوب عرضها. قد تعرض الخدمة عددًا أقل من هذه القيمة. تعرِض القيم السلبية خطأ INVALID_ARGUMENT.
  • pageToken: رمز مميّز للصفحة تم تلقّيه من مكالمة سابقة لأحداث مساحة قائمة قدِّم هذا الرمز المميّز لاسترداد الصفحة التالية. عند تقسيم الصفحات، يجب أن تتطابق قيمة الفلترة مع الطلب الذي قدّم الرمز المميّز للصفحة. جارٍ اجتياز القيم المختلفة إلى نتائج غير متوقعة.