หน้านี้อธิบายเกี่ยวกับกิจกรรมใน Google Chat ที่แอป Google Chat สมัครใช้บริการได้โดยใช้ Google Workspace Events API หลังจากเลือกประเภทกิจกรรมที่ต้องการแล้ว ให้สร้างการสมัครใช้บริการเพื่อเริ่มรับกิจกรรมจาก Google Chat
นอกจากการสมัครใช้บริการเหตุการณ์แล้ว คุณยังค้นหาเหตุการณ์ได้โดยเรียกใช้ Chat API การเรียกใช้ Chat API ช่วยให้คุณเรียกข้อมูลกิจกรรมเป็นระยะ หรือดูเหตุการณ์ที่คุณอาจพลาดไปจากการสมัครใช้บริการเนื่องจากเกิดการหยุดชะงัก ดูข้อมูลเกี่ยวกับวิธีรับและตอบกลับกิจกรรมใน Chat ได้ที่หัวข้อใช้งานกิจกรรมจาก Google Chat ในเอกสารประกอบของ Chat
ทรัพยากรเป้าหมายของ Chat ที่รองรับ
Google Workspace Events API รองรับการสมัครใช้บริการเพื่อทำสิ่งต่อไปนี้
- พื้นที่ทำงาน ซึ่งแสดงเป็นทรัพยากร
space
- ผู้ใช้ซึ่งแสดงเป็นทรัพยากร
user
ของ Cloud Identity API
เหตุการณ์ใน Chat ที่รองรับ
การสมัครใช้บริการ Google Workspace ช่วยให้คุณได้รับเหตุการณ์เกี่ยวกับการเปลี่ยนแปลงประเภทต่อไปนี้ใน Chat
- ข้อความใหม่ ที่มีการอัปเดต หรือลบในพื้นที่ทำงาน
- รีแอ็กชันใหม่หรือที่ถูกนำออก ต่อข้อความ
- สมาชิกใหม่ รายการที่อัปเดต หรือที่นำออก ในพื้นที่ทำงาน
- การเปลี่ยนแปลงพื้นที่ทำงานที่คุณสมัครใช้บริการ เช่น ชื่อหรือคำอธิบายพื้นที่ทำงานที่อัปเดต
ประเภทเหตุการณ์สำหรับการสร้างการสมัครใช้บริการ
เมื่อสร้างการสมัครใช้บริการ คุณจะใช้ช่อง eventTypes[]
เพื่อระบุประเภทเหตุการณ์ที่ต้องการรับ ประเภทเหตุการณ์จะได้รับการจัดรูปแบบตามข้อกำหนดของ CloudEvents เช่น google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
เช่น หากต้องการรับเหตุการณ์เกี่ยวกับผู้ใช้ที่เข้าร่วมพื้นที่ใน Chat คุณต้องระบุพื้นที่ทำงานเป็นทรัพยากรเป้าหมายและประเภทเหตุการณ์เป็น google.workspace.chat.membership.v1.created
หากต้องการรับเหตุการณ์เกี่ยวกับผู้ใช้รายหนึ่งๆ ที่เข้าร่วมพื้นที่ทำงาน คุณจะต้องระบุผู้ใช้เป็นทรัพยากรเป้าหมายและประเภทเหตุการณ์เป็น google.workspace.chat.membership.v1.created
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของกิจกรรมได้ที่โครงสร้างของเหตุการณ์ Google Workspace
ตารางต่อไปนี้แสดงประเภทเหตุการณ์ที่รองรับสำหรับการสมัครใช้บริการพื้นที่ทำงานและการสมัครใช้บริการสำหรับผู้ใช้ หากต้องการเรียนรู้เกี่ยวกับข้อยกเว้นเกี่ยวกับสิ่งที่ทริกเกอร์เหตุการณ์ โปรดดูข้อจำกัด
ประเภทเหตุการณ์ | รูปแบบ | ข้อมูลทรัพยากร | ||
---|---|---|---|---|
การสมัครใช้บริการพื้นที่ทำงาน | ||||
มีการโพสต์ข้อความ |
|
|
||
อัปเดตข้อความแล้ว |
|
|
||
ข้อความถูกลบ |
|
|
||
สร้างรีแอ็กชันแล้ว |
|
|
||
ลบความรู้สึกแล้ว |
|
|
||
เพิ่มสมาชิกไปยังพื้นที่ทำงานแล้ว |
|
|
||
อัปเดตสมาชิกในพื้นที่ทำงานแล้ว |
|
|
||
ระบบนำสมาชิกออกจากพื้นที่ทำงาน |
|
|
||
อัปเดตพื้นที่ทำงานแล้ว |
|
|
||
ลบพื้นที่ทำงานแล้ว |
|
|
||
การสมัครใช้บริการให้กับผู้ใช้ | ||||
ผู้ใช้จะกลายเป็นสมาชิกของพื้นที่ทำงาน
สมาชิกใหม่บางรายจะเรียกใช้เหตุการณ์ไม่ได้ ดูรายละเอียดได้ที่ข้อจำกัด |
|
|
||
อัปเดตการเป็นสมาชิกพื้นที่ทำงานของผู้ใช้แล้ว |
|
|
||
นำผู้ใช้ออกจากการเป็นสมาชิกโดยตรงของพื้นที่ทำงานแล้ว |
|
|
ประเภทเหตุการณ์กลุ่ม (เอาต์พุตเท่านั้น)
นอกจากจะได้รับประเภทเหตุการณ์ที่คุณสมัครใช้บริการแล้ว แอป Chat ยังอาจได้รับเหตุการณ์แบบกลุ่มด้วย เหตุการณ์แบบกลุ่มคือเหตุการณ์ที่แสดงเหตุการณ์หลายรายการในประเภทเดียวกันที่เกิดขึ้นในช่วงเวลาสั้นๆ เพย์โหลดของเหตุการณ์แบบกลุ่มจะมีรายการทรัพยากรที่เปลี่ยนแปลงทั้งหมด
ตัวอย่างเช่น หากผู้ใช้เพิ่มผู้ใช้ 20 คนในพื้นที่ทำงานพร้อมกัน แอป Chat ของคุณอาจได้รับเหตุการณ์แบบกลุ่ม (google.workspace.chat.membership.v1.batchCreated
) เพย์โหลดของเหตุการณ์ประกอบด้วยรายการทรัพยากร Membership
ใหม่ทั้งหมดที่สร้างขึ้นเมื่อผู้ใช้เพิ่มสมาชิกไปยังพื้นที่ทำงาน
คุณจะได้รับเหตุการณ์แบบกลุ่มสำหรับประเภทเหตุการณ์ที่คุณติดตาม จึงไม่จำเป็นต้องระบุเหตุการณ์แบบกลุ่มเมื่อสร้างการสมัครใช้บริการ ตัวอย่างเช่น หากคุณสมัครรับความรู้สึกใหม่
(google.workspace.chat.reaction.v1.created
)
ระบบจะกำหนดค่าแอป Chat ให้รับเหตุการณ์รีแอ็กชันแบบกลุ่ม (google.workspace.chat.reaction.v1.batchCreated
) โดยอัตโนมัติ
ตารางต่อไปนี้แสดงเหตุการณ์แบบกลุ่มที่เป็นไปได้สำหรับการสมัครใช้บริการ
ประเภทเหตุการณ์แบบกลุ่ม | รูปแบบ |
---|---|
มีการโพสต์ข้อความหลายรายการ |
|
มีการอัปเดตข้อความหลายรายการ |
|
ลบข้อความหลายรายการ |
|
มีการสร้างความรู้สึกหลายรายการ |
|
ลบความรู้สึกหลายรายการแล้ว |
|
ระบบจะเพิ่มสมาชิกหลายคนไปยังพื้นที่ทำงานที่สมัครใช้บริการ หรือมีการเพิ่มผู้ใช้ที่สมัครใช้บริการไปยังพื้นที่ทำงานหลายแห่ง |
|
มีการอัปเดตการเป็นสมาชิกหลายรายการในพื้นที่ที่สมัครใช้บริการหรือสำหรับผู้ใช้ที่สมัครใช้บริการ |
|
ระบบนำสมาชิกหลายคนออกจากพื้นที่ทำงานที่สมัครรับข้อมูลหรือผู้ใช้ที่สมัครรับข้อมูลถูกนำออกจากพื้นที่ทำงานหลายแห่ง |
|
พื้นที่ทำงานมีการอัปเดตหลายรายการ |
|
ข้อมูลเหตุการณ์
ส่วนนี้จะอธิบายข้อมูลเหตุการณ์และตัวอย่างเพย์โหลดสำหรับเหตุการณ์ใน Chat
เมื่อการสมัครใช้บริการ Google Workspace ได้รับเหตุการณ์จาก Chat ช่อง data
จะมีเพย์โหลดสำหรับกิจกรรมนั้น เพย์โหลดนี้มีข้อมูลเกี่ยวกับทรัพยากร Google Workspace ที่มีการเปลี่ยนแปลง ตัวอย่างเช่น หากคุณสมัครใช้บริการเหตุการณ์การเป็นสมาชิกในพื้นที่ทำงาน เพย์โหลดของเหตุการณ์เหล่านี้จะมีข้อมูลเกี่ยวกับทรัพยากร spaces.membership
ที่มีการเปลี่ยนแปลง
ข้อมูลทรัพยากรในเพย์โหลดเหตุการณ์
เมื่อสร้างการสมัครใช้บริการ คุณระบุได้ว่าต้องการให้เพย์โหลดรวมรายละเอียดเกี่ยวกับทรัพยากร หรือเฉพาะชื่อของทรัพยากร เช่น หากต้องการรับเหตุการณ์เกี่ยวกับสมาชิกในพื้นที่ใน Chat คุณระบุช่องของทรัพยากรการเป็นสมาชิกที่ต้องการรับในเพย์โหลดเหตุการณ์ได้
ตารางต่อไปนี้มีตัวอย่างเพย์โหลด JSON สำหรับการสมัครใช้บริการพื้นที่ใน Chat spaces/AAAABBBBBB
สำหรับแต่ละเหตุการณ์ที่การสมัครใช้บริการได้รับ เพย์โหลดจะปรากฏในช่อง data
ของเหตุการณ์ ดังนี้
ตัวอย่าง | ประเภทเหตุการณ์ | เพย์โหลด JSON |
---|---|---|
ผู้ใช้โพสต์ข้อความในพื้นที่ทำงานว่า "สวัสดีโลก" |
|
รวมข้อมูลทรัพยากร
{ "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD", "sender": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "2023-09-07T21:37:36.260127Z", "text": "Hello world", "thread": { "name": "spaces/AAAABBBBBB/threads/EEEEEEEEEEEE" }, "space": { "name": "spaces/AAAABBBBBB" }, "argumentText": "Hello world" } } ไม่รวมข้อมูลทรัพยากร
{ "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD" } } |
ผู้ใช้จะกลายเป็นผู้จัดการพื้นที่ทำงาน |
|
รวมข้อมูลทรัพยากร
{ "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321", "state": "JOINED", "member": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MANAGER" } } ไม่รวมข้อมูลทรัพยากร
{ "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } } |
ผู้ใช้อัปเดตคำอธิบายของพื้นที่ทำงานเป็น "ทีมขายสำหรับ Cymbal Labs" | google.workspace.chat.space.v1.updated |
รวมข้อมูลทรัพยากร
{ "space": { "name": "spaces/AAAABBBBBB", "displayName": "Cymbal Sales", "spaceThreadingState": "THREADED_MESSAGES", "spaceType": "SPACE", "spaceDetails": { "description": "Sales team for Cymbal Labs." }, "spaceHistoryState": "HISTORY_ON" } } ไม่รวมข้อมูลทรัพยากร
{ "space": { "name": "spaces/AAAABBBBBB" } } |
เพิ่มผู้ใช้ Chat 2 คนไปยังพื้นที่ทำงานพร้อมกัน | google.workspace.chat.membership.v1.batchCreated |
รวมข้อมูลทรัพยากร
{ "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321", "state": "JOINED", "member": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MEMBER" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/987654321234567890", "state": "JOINED", "member": { "name": "users/987654321234567890", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MEMBER" } } ] } ไม่รวมข้อมูลทรัพยากร
{ "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/98765432123456789019" } } ] } |
ผู้ใช้รีแอ็กต่อข้อความด้วยอีโมจิ 😊 | google.workspace.chat.reaction.v1.created |
รวมข้อมูลทรัพยากร
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222", "user": { "name": "users/1234567890987654321", "type": "HUMAN" }, "emoji": { "unicode": "😊" } } } ละเว้นข้อมูลทรัพยากร
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" } } |
ผู้ใช้แสดงความรู้สึกต่อข้อความด้วยอีโมจิ 😊 และอีโมจิ 😸 | google.workspace.chat.reaction.v1.batchCreated |
รวมข้อมูลทรัพยากร
{ "reactions": [ { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222", "user": { "name": "users/1234567890987654321", "type": "HUMAN" }, "emoji": { "unicode": "😊" } } }, { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444", "user": { "name": "users/98765431234564321", "type": "HUMAN" }, "emoji": { "unicode": "😸" } } } ] } ละเว้นข้อมูลทรัพยากร
{ "reactions": [ { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" }, "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444", } } ] } |
ข้อจำกัด
-
สำหรับการสมัครรับข้อมูลของผู้ใช้ เหตุการณ์เกี่ยวกับสมาชิกใหม่ในข้อความส่วนตัวหรือแชทเป็นกลุ่มที่ไม่มีชื่อ (
google.workspace.chat.membership.v1.created
) จะทริกเกอร์ก็ต่อเมื่อมีการโพสต์ข้อความแรกแล้วเท่านั้น - การเปลี่ยนแปลงประวัติพื้นที่ทำงานจะไม่ทริกเกอร์เหตุการณ์พื้นที่ทำงานที่อัปเดต (ประเภทเหตุการณ์:
google.workspace.chat.spaces.v1.updated
) - หากต้องการรับกิจกรรมเกี่ยวกับการเป็นสมาชิก ผู้ใช้ต้องเป็นสมาชิกโดยตรงของพื้นที่ทำงาน หากมีการเพิ่ม อัปเดต หรือนำผู้ใช้ออกจากพื้นที่ทำงานโดยอ้อมผ่าน Google Group การสมัครใช้บริการดังกล่าวจะไม่ได้รับเหตุการณ์การเป็นสมาชิกเหล่านั้น หากต้องการทำความเข้าใจวิธีการทำงานของการเป็นสมาชิกกลุ่ม Google โปรดดูหัวข้อเพิ่ม Google Group ในพื้นที่ทำงาน
หัวข้อที่เกี่ยวข้อง
- โครงสร้างของกิจกรรมใน Google Workspace
- เลือกขอบเขต OAuth
- สร้างการสมัครใช้บริการ เพื่อรับเหตุการณ์ใน Chat