แสดงรายการกิจกรรมจากพื้นที่ใน Google Chat

คู่มือนี้อธิบายวิธีใช้เมธอด list ในทรัพยากร SpaceEvent ของ Google Chat API เพื่อแสดงการเปลี่ยนแปลงของทรัพยากรในพื้นที่ทำงาน

ทรัพยากร SpaceEvent แสดงถึงการเปลี่ยนแปลงในพื้นที่ทำงานเป้าหมาย รวมถึงทรัพยากรย่อยของพื้นที่ทำงาน เช่น ข้อความ ความรู้สึก และการเป็นสมาชิก ดูข้อมูลเพิ่มเติมเกี่ยวกับรายการประเภทเหตุการณ์และเพย์โหลดเหตุการณ์ที่รองรับได้ที่ช่อง eventType และ payload ของเอกสารอ้างอิงทรัพยากร SpaceEvent

คุณแสดงกิจกรรมได้สูงสุด 28 วันก่อนเวลาที่ขอ โดยเซิร์ฟเวอร์จะแสดงผลเหตุการณ์ที่มีทรัพยากรที่ได้รับผลกระทบเวอร์ชันล่าสุด ตัวอย่างเช่น หากคุณแสดงกิจกรรมเกี่ยวกับสมาชิกใหม่ของพื้นที่ทำงาน เซิร์ฟเวอร์จะแสดงผลทรัพยากร Membership ที่มีรายละเอียดการเป็นสมาชิกล่าสุด หากสมาชิกใหม่ถูกนำออกในช่วงเวลาที่ขอ เพย์โหลดของเหตุการณ์จะมีทรัพยากร Membership ที่ว่างเปล่า

หากต้องการเรียกใช้วิธีการนี้ คุณต้องใช้การตรวจสอบสิทธิ์ผู้ใช้ หากต้องการแสดงเหตุการณ์จากพื้นที่ทำงาน ผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์ต้องเป็นสมาชิกของพื้นที่ทำงานนั้น

ข้อกำหนดเบื้องต้น

Python

  • Python 3.6 ขึ้นไป
  • เครื่องมือการจัดการแพ็กเกจ pip
  • ไลบรารีของไคลเอ็นต์ Google ล่าสุดสำหรับ Python หากต้องการติดตั้งหรืออัปเดต ให้เรียกใช้คำสั่งต่อไปนี้ในอินเทอร์เฟซบรรทัดคำสั่ง

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • โปรเจ็กต์ Google Cloud ที่เปิดใช้และกำหนดค่า Google Chat API โปรดดูขั้นตอนที่หัวข้อสร้างแอป Google Chat
  • กำหนดค่าการให้สิทธิ์สำหรับแอป Chat แล้ว ทรัพยากร SpaceEvent รายการรองรับวิธีการตรวจสอบสิทธิ์ต่อไปนี้

แสดงรายการเหตุการณ์ในพื้นที่ทำงาน

หากต้องการแสดงรายการกิจกรรมของพื้นที่ทำงานจากพื้นที่ใน Chat ให้ทำดังนี้

ในตัวอย่างโค้ดต่อไปนี้ คุณแสดงเหตุการณ์เกี่ยวกับการเป็นสมาชิกใหม่และข้อความในพื้นที่ทำงาน

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: โทเค็นหน้าเว็บที่ได้รับจากการเรียกเหตุการณ์ในพื้นที่รายการก่อนหน้านี้ ระบุโทเค็นนี้เพื่อเรียกหน้าถัดไป เวลาใส่เลขหน้า ค่าตัวกรองควรตรงกับการเรียกที่ให้โทเค็นของหน้าเว็บ การส่งต่อค่าที่ต่างกันอาจทําให้เกิดผลลัพธ์ที่ไม่คาดคิด