หน้านี้จะอธิบายถึงกิจกรรมใน 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