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

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

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

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

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

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

Python

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

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

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

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

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

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
    

تعرض واجهة برمجة تطبيقات الدردشة قائمة SpaceEvent مورد الأحداث حول العضويات والرسائل الجديدة.

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

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

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