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

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

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

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

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

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

Python

  • ธุรกิจหรือองค์กร บัญชี Google Workspace ที่มีสิทธิ์เข้าถึง Google Chat

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

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

  • เรียกใช้เมธอด list ในSpaceEvent ทรัพยากร
  • ระบุประเภทเหตุการณ์ที่จะแสดงรายการโดยใช้ filter ด้วย คุณต้องระบุประเภทเหตุการณ์อย่างน้อย 1 ประเภท และคุณยังสามารถกรองตาม วันที่ ดูรายการประเภทเหตุการณ์ที่รองรับได้ที่ eventType field
  • เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ระบุขอบเขตการให้สิทธิ์อย่างน้อย 1 รายการเพื่อรองรับเหตุการณ์แต่ละประเภทในคำขอ วิธีที่ดีที่สุดคือ เลือกขอบเขตที่จำกัดที่สุดซึ่งยังคง ทำให้แอปทำงานได้ ในการเลือกขอบเขต โปรดดูที่ ภาพรวมการตรวจสอบสิทธิ์และการให้สิทธิ์

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

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