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

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

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

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

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

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

Python

  • ธุรกิจหรือองค์กร บัญชี Google Workspace ที่มีสิทธิ์เข้าถึง Google Chat
  • Python 3.6 ขึ้นไป
  • เครื่องมือจัดการแพ็กเกจ pip
  • ไลบรารีของไคลเอ็นต์ Google ล่าสุด หากต้องการติดตั้งหรืออัปเดตส่วนขยาย เรียกใช้คำสั่งต่อไปนี้ในอินเทอร์เฟซบรรทัดคำสั่ง
    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    

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

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

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