ติดตามกิจกรรมใน Google Chat

หน้านี้อธิบายกิจกรรมใน Google Chat ที่แอป Google Chat สามารถสมัครรับข้อมูลได้โดยใช้ Google Workspace Events API หลังจากตัดสินใจว่าต้องการเหตุการณ์ประเภทใดแล้ว ให้สร้างการสมัครใช้บริการเพื่อเริ่มรับเหตุการณ์จาก Google Chat

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

เหตุการณ์ในแชทที่รองรับ

การสมัครใช้บริการ Google Workspace ช่วยให้คุณรับเหตุการณ์เกี่ยวกับการเปลี่ยนแปลงประเภทต่อไปนี้ใน Chat ได้

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

ทรัพยากรที่คุณตรวจสอบหาเหตุการณ์ได้

หากต้องการรับเหตุการณ์ คุณต้องระบุทรัพยากร Chat ที่จะตรวจสอบ ซึ่งเรียกว่าทรัพยากรเป้าหมายของการสมัครใช้บริการ

Google Workspace Events API รองรับทรัพยากรเป้าหมายต่อไปนี้ สำหรับ Chat

ทรัพยากรเป้าหมาย รูปแบบ ข้อจำกัด
Space

//chat.googleapis.com/spaces/SPACE

โดย SPACE คือรหัสใน ชื่อทรัพยากรของทรัพยากร space ใน Chat API คุณดูรหัสได้จาก URL ของพื้นที่ทำงานหรือใช้เมธอด spaces.list()

ผู้ใช้ Chat หรือแอป Chat ที่ให้สิทธิ์การสมัครใช้บริการต้องเป็นสมาชิกของพื้นที่ทำงานผ่านบัญชี Google Workspace หรือบัญชี Google รองรับ
พื้นที่ทั้งหมดสำหรับผู้ใช้

//chat.googleapis.com/spaces/-

การสมัครใช้บริการจะรับเฉพาะกิจกรรมสำหรับพื้นที่ทำงานที่ผู้ใช้เป็นสมาชิกผ่านบัญชี Google Workspace หรือบัญชี Google เท่านั้น รองรับเฉพาะการตรวจสอบสิทธิ์ของผู้ใช้
ผู้ใช้

//cloudidentity.googleapis.com/users/USER

โดย USER คือรหัสใน ชื่อทรัพยากรของทรัพยากร user ใน Chat API โปรดดูรายละเอียดที่หัวข้อ ระบุและกำหนด ผู้ใช้ Google Chat

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

ประเภทเหตุการณ์สำหรับการสร้างการสมัครใช้บริการ

เมื่อสร้างการสมัครใช้บริการ คุณจะใช้ฟิลด์ eventTypes[] เพื่อระบุประเภทเหตุการณ์ที่ต้องการรับ ประเภทเหตุการณ์จะได้รับการจัดรูปแบบตามข้อกำหนดของ CloudEvents เช่น google.workspace.APPLICATION.RESOURCE.VERSION.ACTION

เช่น หากต้องการรับเหตุการณ์เกี่ยวกับการที่ผู้ใช้เข้าร่วมพื้นที่ใน Chat คุณจะต้องระบุพื้นที่เป็นทรัพยากรเป้าหมาย และระบุประเภทเหตุการณ์เป็น google.workspace.chat.membership.v1.created หากต้องการรับเหตุการณ์เกี่ยวกับการที่ผู้ใช้เข้าร่วมพื้นที่ใดก็ตาม คุณต้องระบุผู้ใช้เป็นทรัพยากรเป้าหมาย และระบุประเภทเหตุการณ์เป็น google.workspace.chat.membership.v1.created ดูข้อมูลเพิ่มเติมเกี่ยวกับ วิธีการทำงานของเหตุการณ์ได้ที่โครงสร้างของเหตุการณ์ใน Google Workspace

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

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

google.workspace.chat.message.v1.created

space.message

มีการอัปเดตข้อความ

google.workspace.chat.message.v1.updated

space.message

ลบข้อความแล้ว

google.workspace.chat.message.v1.deleted

space.message

สร้างรีแอ็กชันแล้ว

google.workspace.chat.reaction.v1.created

space.message.reaction

ระบบจะลบรีแอ็กชัน

google.workspace.chat.reaction.v1.deleted

space.message.reaction

ระบบจะเพิ่มสมาชิกไปยังพื้นที่ทำงาน

google.workspace.chat.membership.v1.created

space.membership

มีการอัปเดตสมาชิกในพื้นที่ทำงาน

google.workspace.chat.membership.v1.updated

space.membership

ระบบนำสมาชิกออกจากพื้นที่ทำงาน

google.workspace.chat.membership.v1.deleted

space.membership

ระบบจะอัปเดตพื้นที่ทำงาน

google.workspace.chat.space.v1.updated

space

ระบบจะลบพื้นที่ทำงาน

google.workspace.chat.space.v1.deleted

space

การติดตามสำหรับผู้ใช้  
ผู้ใช้จะกลายเป็นสมาชิกของพื้นที่ทำงาน

สมาชิกใหม่บางรายอาจไม่ทริกเกอร์เหตุการณ์ ดูรายละเอียดได้ที่ข้อจำกัด

google.workspace.chat.membership.v1.created

space.membership

มีการอัปเดตการเป็นสมาชิกพื้นที่ทำงานของผู้ใช้

google.workspace.chat.membership.v1.updated

space.membership

ระบบจะนำผู้ใช้ดังกล่าวออกจากการเป็นสมาชิกโดยตรงของพื้นที่ทำงาน

google.workspace.chat.membership.v1.deleted

space.membership

ประเภทเหตุการณ์แบบกลุ่ม (เอาต์พุตเท่านั้น)

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

เช่น หากผู้ใช้เพิ่มผู้ใช้ 20 คนลงในพื้นที่ทำงานพร้อมกัน แอป Chat ของคุณอาจได้รับเหตุการณ์แบบกลุ่ม (google.workspace.chat.membership.v1.batchCreated) เพย์โหลดของเหตุการณ์จะมี รายการทรัพยากร Membership ใหม่ทั้งหมดที่สร้างขึ้นเมื่อผู้ใช้ เพิ่มสมาชิกไปยังพื้นที่ทำงาน

คุณจะได้รับเหตุการณ์แบบกลุ่มสำหรับเหตุการณ์ประเภทใดก็ตามที่คุณสมัครใช้บริการ ดังนั้น คุณจึงไม่จำเป็นต้องระบุเหตุการณ์แบบกลุ่มเมื่อสร้างการสมัครใช้บริการ ตัวอย่างเช่น หากคุณสมัครรับข้อมูลรีแอ็กชันใหม่ (google.workspace.chat.reaction.v1.created) ระบบจะกำหนดค่าแอป แชทโดยอัตโนมัติให้รับเหตุการณ์รีแอ็กชัน แบบเป็นกลุ่ม (google.workspace.chat.reaction.v1.batchCreated)

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

ประเภทเหตุการณ์แบบกลุ่ม รูปแบบ
มีการโพสต์ข้อความหลายรายการ

google.workspace.chat.message.v1.batchCreated

มีการอัปเดตข้อความหลายรายการ

google.workspace.chat.message.v1.batchUpdated

ระบบจะลบข้อความหลายรายการ

google.workspace.chat.message.v1.batchDeleted

สร้างรีแอ็กชันหลายรายการ

google.workspace.chat.reaction.v1.batchCreated

ระบบจะลบรีแอ็กชันหลายรายการ

google.workspace.chat.reaction.v1.batchDeleted

มีการเพิ่มสมาชิกหลายคนไปยังพื้นที่ทำงานที่ติดตาม หรือมีการเพิ่มผู้ใช้ที่ติดตามไปยังพื้นที่ทำงานหลายแห่ง

google.workspace.chat.membership.v1.batchCreated

ระบบจะอัปเดตการเป็นสมาชิกหลายรายการในพื้นที่ทำงานที่สมัครใช้บริการหรือสำหรับผู้ใช้ที่สมัครใช้บริการ

google.workspace.chat.membership.v1.batchUpdated

มีการนำสมาชิกหลายคนออกจากพื้นที่ทำงานที่ติดตาม หรือมีการนำผู้ใช้ที่ติดตามออกจากพื้นที่ทำงานหลายแห่ง

google.workspace.chat.membership.v1.batchDeleted

พื้นที่ทำงานมีการอัปเดตหลายรายการ

google.workspace.chat.space.v1.batchUpdated

ข้อมูลเหตุการณ์

ส่วนนี้อธิบายข้อมูลเหตุการณ์และตัวอย่างเพย์โหลดสําหรับเหตุการณ์ใน Chat

เมื่อการสมัครใช้บริการ Google Workspace ได้รับเหตุการณ์จาก Chat ฟิลด์ data จะมีเพย์โหลดสำหรับเหตุการณ์ เพย์โหลดนี้มีข้อมูลเกี่ยวกับ ทรัพยากร Google Workspace ที่เปลี่ยนแปลง เช่น หากคุณติดตาม เหตุการณ์การเป็นสมาชิกในพื้นที่ เพย์โหลดของเหตุการณ์เหล่านี้จะมีข้อมูล เกี่ยวกับ spaces.membership ที่มีการเปลี่ยนแปลง

ข้อมูลทรัพยากรในเพย์โหลดของเหตุการณ์

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

ตารางต่อไปนี้แสดงตัวอย่างเพย์โหลด JSON สำหรับการสมัครใช้บริการ พื้นที่ใน Chat spaces/AAAABBBBBB สำหรับแต่ละเหตุการณ์ที่การสมัครรับข้อมูลได้รับ เพย์โหลดจะปรากฏในฟิลด์ data ของเหตุการณ์

ตัวอย่าง ประเภทเหตุการณ์ เพย์โหลด JSON

ผู้ใช้โพสต์ข้อความในพื้นที่ทำงานว่า "Hello world"

google.workspace.chat.message.v1.created

รวมข้อมูลทรัพยากร:

{
    "message":
    {
        "name": "spaces/SPACE_ID/messages/MESSAGE_ID",
        "sender":
        {
            "name": "users/USER_ID",
            "type": "HUMAN"
        },
        "createTime": "2023-09-07T21:37:36.260127Z",
        "text": "Hello world",
        "thread":
        {
            "name": "spaces/SPACE_ID/threads/THREAD_ID"
        },
        "space":
        {
            "name": "spaces/SPACE_ID"
        },
        "argumentText": "Hello world"
    }
}
      

ไม่รวมข้อมูลทรัพยากร

{
    "message":
    {
        "name": "spaces/SPACE_ID/messages/MESSAGE_ID"
    }
}
      
ผู้ใช้จะกลายเป็นผู้จัดการพื้นที่ทำงาน

google.workspace.chat.membership.v1.updated

รวมข้อมูลทรัพยากร:

{
    "membership":
    {
        "name": "spaces/SPACE_ID/members/MEMBER_ID",
        "state": "JOINED",
        "member":
        {
            "name": "users/USER_ID",
            "type": "HUMAN"
        },
        "createTime": "1970-01-01T00:00:00Z",
        "role": "ROLE_MANAGER"
    }
}
      

ไม่รวมข้อมูลทรัพยากร

{
    "membership":
    {
        "name": "spaces/SPACE_ID/members/MEMBER_ID"
    }
}
      
ผู้ใช้อัปเดตคำอธิบายของพื้นที่ทำงานเป็น "ทีมขายของ Cymbal Labs" google.workspace.chat.space.v1.updated

รวมข้อมูลทรัพยากร:

{
    "space":
    {
        "name": "spaces/SPACE_ID",
        "displayName": "Cymbal Sales",
        "spaceThreadingState": "THREADED_MESSAGES",
        "spaceType": "SPACE",
        "spaceDetails":
        {
            "description": "Sales team for Cymbal Labs."
        },
        "spaceHistoryState": "HISTORY_ON"
    }
}
      

ไม่รวมข้อมูลทรัพยากร

{
    "space":
    {
        "name": "spaces/SPACE_ID"
    }
}
      
มีการเพิ่มผู้ใช้ Chat 2 คนไปยังพื้นที่ทำงานพร้อมกัน google.workspace.chat.membership.v1.batchCreated

รวมข้อมูลทรัพยากร:

{
    "memberships": [
        {
          "membership": {
            "name": "spaces/SPACE_ID/members/MEMBER_ID",
            "state": "JOINED",
            "member":
            {
                "name": "users/USER_ID",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        },
        {
          "membership": {
            "name": "spaces/SPACE_ID/members/MEMBER_ID",
            "state": "JOINED",
            "member":
            {
                "name": "users/USER_ID",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        }
    ]
}
      

ไม่รวมข้อมูลทรัพยากร

{
    "memberships": [
        {
          "membership": {
            "name": "spaces/SPACE_ID/members/MEMBER_ID"
          }
        },
        {
          "membership": {
            "name": "spaces/SPACE_ID/members/MEMBER_ID"
          }
        }
    ]
}
      
ผู้ใช้รีแอ็กกับข้อความด้วยอีโมจิ 😊 google.workspace.chat.reaction.v1.created

รวมข้อมูลทรัพยากร:

{
    "reaction":
    {
        "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID",
        "user":
        {
            "name": "users/USER_ID",
            "type": "HUMAN"
        },
        "emoji":
        {
            "unicode": "😊"
        }
    }
}
      

ไม่รวมข้อมูลทรัพยากร

{
    "reaction":
    {
        "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID"
    }
}
      
ผู้ใช้รีแอ็กต่อข้อความด้วยอีโมจิ 😊 และอีโมจิ 😸 google.workspace.chat.reaction.v1.batchCreated

รวมข้อมูลทรัพยากร:

{
    "reactions": [
        {
          "reaction": {
            "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID",
            "user":
            {
                "name": "users/USER_ID",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😊"
            }
          }
        },
        {
          "reaction": {
            "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID",
            "user":
            {
                "name": "users/USER_ID",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😸"
            }
          }
        }
    ]
}
      

ไม่รวมข้อมูลทรัพยากร

{
    "reactions": [
      {
        "reaction": {
            "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID"
        },
        "reaction": {
            "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID",
        }
      }
    ]
}
      

ข้อจำกัด

  • สำหรับการติดตามผู้ใช้ เหตุการณ์เกี่ยวกับสมาชิกใหม่ในข้อความส่วนตัวหรือแชทเป็นกลุ่มที่ไม่มีชื่อ (google.workspace.chat.membership.v1.created) จะทริกเกอร์หลังจากโพสต์ข้อความแรกเท่านั้น
  • หากต้องการรับกิจกรรมการเป็นสมาชิก ผู้ใช้หรือแอป Chat ต้องเป็นสมาชิกโดยตรงของพื้นที่ หากมีการเพิ่ม อัปเดต หรือนำออกจากพื้นที่ทำงานโดยอ้อมผ่าน Google Group การสมัครใช้บริการจะไม่ ได้รับการแจ้งเตือนเกี่ยวกับเหตุการณ์การเป็นสมาชิกเหล่านั้น หากต้องการทำความเข้าใจวิธีการทำงานของการเป็นสมาชิก Google Group โปรดดูหัวข้อ เพิ่ม Google Group ในพื้นที่ทำงาน