ทรัพยากร liveChatMessage
แสดงข้อความแชทในแชทสดของ YouTube แหล่งข้อมูลอาจมีรายละเอียดเกี่ยวกับข้อความหลายประเภท รวมถึงข้อความที่โพสต์ใหม่หรือกิจกรรมการให้เงินสนับสนุนของแฟนๆ
ระบบจะเปิดใช้ฟีเจอร์แชทสดโดยค่าเริ่มต้นสำหรับการออกอากาศสด และจะพร้อมใช้งานขณะที่กิจกรรมสดดำเนินอยู่ (หลังจากกิจกรรมสิ้นสุดลง แชทสดจะไม่มีให้ใช้งานสำหรับกิจกรรมนั้นอีก)
เมธอด
API รองรับวิธีการต่อไปนี้สำหรับทรัพยากร liveChatMessages
การนําเสนอทรัพยากร
โครงสร้าง JSON ต่อไปนี้แสดงรูปแบบของแหล่งข้อมูล liveChatMessages
{ "kind": "youtube#liveChatMessage", "etag": etag, "id": string, "snippet": { "type": string, "liveChatId": string, "authorChannelId": string, "publishedAt": datetime, "hasDisplayContent": boolean, "displayMessage": string, "fanFundingEventDetails": { "amountMicros": unsigned long, "currency": string, "amountDisplayString": string, "userComment": string }, "textMessageDetails": { "messageText": string }, "messageDeletedDetails": { "deletedMessageId": string }, "userBannedDetails": { "bannedUserDetails": { "channelId": string, "channelUrl": string, "displayName": string, "profileImageUrl": string }, "banType": string, "banDurationSeconds": unsigned long }, "memberMilestoneChatDetails": { "userComment": string, "memberMonth": unsigned integer, "memberLevelName": string }, "newSponsorDetails": { "memberLevelName": string, "isUpgrade": bool }, "superChatDetails": { "amountMicros": unsigned long, "currency": string, "amountDisplayString": string, "userComment": string, "tier": unsigned integer }, "superStickerDetails": { "superStickerMetadata": { "stickerId": string, "altText": string, "language": string }, "amountMicros": unsigned long, "currency": string, "amountDisplayString": string, "tier": unsigned integer }, "pollDetails": { "metadata": { "options": { "optionText": string, "tally": string, }, "questionText": string, "status": enum }, }, "membershipGiftingDetails": { "giftMembershipsCount": integer, "giftMembershipsLevelName": string }, "giftMembershipReceivedDetails": { "memberLevelName": string, "gifterChannelId": string, "associatedMembershipGiftingMessageId": string }, }, "authorDetails": { "channelId": string, "channelUrl": string, "displayName": string, "profileImageUrl": string, "isVerified": boolean, "isChatOwner": boolean, "isChatSponsor": boolean, "isChatModerator": boolean }, }
พร็อพเพอร์ตี้
ตารางต่อไปนี้จะกำหนดพร็อพเพอร์ตี้ที่ปรากฏในทรัพยากรนี้
พร็อพเพอร์ตี้ | |
---|---|
kind |
string ระบุประเภทของทรัพยากร API ค่าจะเป็น youtube#liveChatMessage |
etag |
etag Etag ของทรัพยากรนี้ |
id |
string รหัสที่ YouTube กำหนดเพื่อระบุข้อความที่ไม่ซ้ำกัน |
snippet |
object ออบเจ็กต์ snippet มีรายละเอียดหลักเกี่ยวกับข้อความแชท |
snippet.type |
string ประเภทของข้อความ พร็อพเพอร์ตี้นี้จะแสดงอยู่เสมอ และค่าของพร็อพเพอร์ตี้จะเป็นตัวกำหนดว่าช่องใดจะปรากฏในทรัพยากร ค่าที่ใช้ได้สำหรับพร็อพเพอร์ตี้นี้มีดังนี้
|
snippet.liveChatId |
string รหัสที่ระบุแชทสดที่เชื่อมโยงกับข้อความนั้นๆ โดยไม่ซ้ำกัน ระบบจะแสดงรหัสแชทสดที่เชื่อมโยงกับการออกอากาศในพร็อพเพอร์ตี้ snippet.liveChatId ของliveBroadcast ทรัพยากร |
snippet.authorChannelId |
string รหัสของผู้ใช้ที่เขียนข้อความ ช่องนี้จะกรอกข้อมูลสำหรับข้อความประเภทต่อไปนี้เท่านั้น
|
snippet.publishedAt |
datetime วันที่และเวลาที่เผยแพร่ข้อความครั้งแรก ค่าที่ระบุอยู่ในรูปแบบ ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ) |
snippet.hasDisplayContent |
boolean ระบุว่าข้อความมีเนื้อหาที่ควรแสดงต่อผู้ใช้หรือไม่ |
snippet.displayMessage |
string มีสตริงที่แสดงต่อผู้ใช้ ช่องนี้จะไม่ปรากฏหากประเภทข้อความคือ chatEndedEvent หรือ tombstone |
snippet.fanFundingEventDetails |
object หมายเหตุ: เราเลิกใช้งานออบเจ็กต์นี้และพร็อพเพอร์ตี้ย่อยแล้ว ตั้งแต่วันที่ 28 กุมภาพันธ์ 2017 liveChatMessage จะไม่แสดงรายละเอียดสำหรับกิจกรรมการให้เงินสนับสนุนของแฟนๆ อีกต่อไปออบเจ็กต์นี้มีรายละเอียดเกี่ยวกับกิจกรรมการให้เงินสนับสนุน รายการนี้จะแสดงเฉพาะในกรณีที่ประเภทข้อความเป็น fanFundingEvent |
snippet.fanFundingEventDetails.amountMicros |
unsigned long หมายเหตุ: ระบบเลิกใช้งานพร็อพเพอร์ตี้นี้แล้ว จำนวนเงินในกองทุน |
snippet.fanFundingEventDetails.currency |
string หมายเหตุ: เราได้เลิกใช้งานพร็อพเพอร์ตี้นี้แล้ว สกุลเงินที่ใช้สร้างกองทุน |
snippet.fanFundingEventDetails.amountDisplayString |
string หมายเหตุ: ระบบเลิกใช้งานพร็อพเพอร์ตี้นี้แล้ว สตริงที่แสดงผลซึ่งแสดงจำนวนเงินทุนและสกุลเงินต่อผู้ใช้ |
snippet.fanFundingEventDetails.userComment |
string หมายเหตุ: เราเลิกใช้งานพร็อพเพอร์ตี้นี้แล้ว ความคิดเห็นที่ผู้ใช้เพิ่มลงในกิจกรรมการให้เงินสนับสนุนของแฟนๆ นี้ |
snippet.textMessageDetails |
object ออบเจ็กต์นี้มีรายละเอียดเกี่ยวกับ SMS รายการนี้จะแสดงเฉพาะในกรณีที่ประเภทข้อความเป็น textMessageEvent |
snippet.textMessageDetails.messageText |
string ข้อความของผู้ใช้ |
snippet.messageDeletedDetails |
object ออบเจ็กต์นี้มีรายละเอียดเกี่ยวกับข้อความที่ลบโดยผู้ดูแลแชทหรือเจ้าของช่องของรายการถ่ายทอดสด รายการนี้จะแสดงเฉพาะในกรณีที่ประเภทข้อความเป็น messageDeletedEvent |
snippet.messageDeletedDetails.deletedMessageId |
string รหัสที่ระบุข้อความที่ลบไปแล้วอย่างเจาะจง ค่านี้เหมือนกับค่าคุณสมบัติ id ของ SMS ต้นฉบับ ตัวอย่างเช่น หาก textMessageEvent มีค่าพร็อพเพอร์ตี้ id เป็น 123 และมีการลบข้อความนั้นในภายหลัง ค่า snippet.messageDeletedDetails.deletedMessageId ของข้อความนั้นจะเท่ากับ 123 หากคุณแคชข้อความแชทไว้หลังจากดึงข้อมูลแล้ว ให้ใช้ค่าของพร็อพเพอร์ตี้นี้เพื่อระบุข้อความที่ไม่ควรแสดงอีกต่อไป |
snippet.userBannedDetails |
object ออบเจ็กต์นี้มีรายละเอียดเกี่ยวกับผู้ใช้ที่ถูกแบนไม่ให้ใช้แชท รวมถึงรายละเอียดเกี่ยวกับการระงับด้วย ผู้ใช้อาจถูกแบนจากแชทชั่วคราวหรือถาวร |
snippet.userBannedDetails.bannedUserDetails |
object ออบเจ็กต์นี้มีข้อมูลเกี่ยวกับผู้ใช้ที่ถูกแบน |
snippet.userBannedDetails.bannedUserDetails.channelId |
string รหัสช่อง YouTube ของผู้ใช้ที่ถูกแบน |
snippet.userBannedDetails.bannedUserDetails.channelUrl |
string URL ของช่อง YouTube ของผู้ใช้ที่ถูกแบน |
snippet.userBannedDetails.bannedUserDetails.displayName |
string ชื่อที่แสดงของช่อง YouTube ของผู้ใช้ที่ถูกแบน |
snippet.userBannedDetails.bannedUserDetails.profileImageUrl |
string รูปโปรไฟล์ของช่อง YouTube ของผู้ใช้ที่ถูกแบน |
snippet.userBannedDetails.banType |
string ประเภทของการห้าม ค่าที่ใช้ได้สำหรับพร็อพเพอร์ตี้นี้มีดังนี้
|
snippet.userBannedDetails.banDurationSeconds |
unsigned long ระยะเวลาของการระงับ พร็อพเพอร์ตี้นี้จะแสดงก็ต่อเมื่อค่าพร็อพเพอร์ตี้ snippet.userBannedDetails.banType เป็น temporary |
snippet.memberMilestoneChatDetails |
object ออบเจ็กต์นี้มีรายละเอียดเกี่ยวกับเหตุการณ์เป้าหมายของสมาชิก รายการนี้จะแสดงเฉพาะในกรณีที่ประเภทข้อความเป็น memberMilestoneChatEvent |
snippet.memberMilestoneChatDetails.userComment |
string ความคิดเห็นที่สมาชิกเพิ่มลงในข้อความแชทสำหรับการบรรลุเป้าหมายของสมาชิกนี้ ช่องนี้จะเว้นว่างไว้สำหรับข้อความที่ไม่มีความคิดเห็นจากสมาชิก |
snippet.memberMilestoneChatDetails.memberMonth |
unsigned integer จำนวนเดือนทั้งหมด (ปัดเศษขึ้น) ที่ผู้ชมเป็นสมาชิกซึ่งทำให้ได้รับข้อความแชทสุดพิเศษสำหรับสมาชิกนี้ ซึ่งก็คือจำนวนเดือนเดียวกับที่แสดงต่อผู้ใช้ YouTube |
snippet.memberMilestoneChatDetails.memberLevelName |
string ชื่อระดับที่ผู้ดูเป็นสมาชิก ชื่อระดับจะกำหนดโดยช่อง YouTube ที่เสนอการเป็นสมาชิก ในบางสถานการณ์ ช่องนี้จะไม่มีข้อมูล |
snippet.newSponsorDetails |
object ออบเจ็กต์นี้มีรายละเอียดเกี่ยวกับกิจกรรมประกาศสมาชิกใหม่ ระบบจะตั้งค่านี้เฉพาะในกรณีที่ประเภทเป็น newSponsorEvent "สมาชิก" คือคําที่หมายถึง "ผู้สนับสนุน"
|
snippet.newSponsorDetails.memberLevelName |
string ชื่อระดับที่ผู้ดูเป็นสมาชิก ชื่อระดับจะกำหนดโดยช่อง YouTube ที่เสนอการเป็นสมาชิก ในบางสถานการณ์ ระบบจะไม่กรอกข้อมูลในช่องนี้ |
snippet.newSponsorDetails.isUpgrade |
bool ระบุว่าผู้ชมเพิ่งอัปเกรดจากระดับที่ต่ำกว่าหรือไม่ สำหรับผู้ชมที่ไม่ได้เป็นสมาชิก ณ เวลาที่ซื้อ ค่าของช่องจะเป็น false
|
snippet.superChatDetails |
object ออบเจ็กต์นี้มีรายละเอียดเกี่ยวกับเหตุการณ์ Super Chat รายการนี้จะแสดงเฉพาะในกรณีที่ประเภทข้อความเป็น superChatEvent |
snippet.superChatDetails.amountMicros |
unsigned long จํานวนเงินที่ซื้อเป็นไมโครของสกุลเงินที่ซื้อ เช่น หากยอดซื้อคือ 1 ดอลลาร์ ค่าพร็อพเพอร์ตี้ snippet.amountMicros คือ 1000000 |
snippet.superChatDetails.currency |
string สกุลเงินที่ใช้ซื้อ ค่าคือรหัสสกุลเงิน ISO 4217 |
snippet.superChatDetails.amountDisplayString |
string สตริง เช่น $1.00 ที่มีจำนวนเงินที่ซื้อและสกุลเงิน สตริงมีไว้เพื่อแสดงต่อผู้ใช้ |
snippet.superChatDetails.userComment |
string ความคิดเห็นที่ผู้ใช้เพิ่มลงในเหตุการณ์ Super Chat นี้ |
snippet.superChatDetails.tier |
unsigned integer ระดับของข้อความแบบชำระเงิน โปรดทราบว่าในทรัพยากร superChatEvent พร็อพเพอร์ตี้ snippet.messageType จะมีค่านี้ระดับจะอิงตามจำนวนเงินที่ใช้ซื้อข้อความ นอกจากนี้ ยังกำหนดสีที่ใช้ไฮไลต์ข้อความใน UI ของแชทสด ความยาวข้อความสูงสุด และระยะเวลาที่ข้อความจะปักหมุดอยู่ในแถบข้อมูล ระดับของ Super Chat มีอยู่ในเอกสารศูนย์ช่วยเหลือของ YouTube (ดูส่วนขยายเกี่ยวกับรายละเอียดการซื้อ Super Chat) ในรายการดังกล่าว ระดับที่มียอดซื้อต่ำสุดคือระดับ 1 ยอดซื้อที่ต่ำรองลงมาคือระดับ 2 และลำดับต่อๆ ไป |
snippet.superStickerDetails |
object ออบเจ็กต์นี้มีรายละเอียดเกี่ยวกับเหตุการณ์ Super Stickers รายการนี้จะแสดงเฉพาะในกรณีที่ประเภทข้อความเป็น superStickerEvent |
snippet.superStickerDetails.superStickerMetadata |
object รายละเอียดเกี่ยวกับ Super Stickers |
snippet.superStickerDetails.superStickerMetadata.stickerId |
string รหัสที่ไม่ซ้ำกันซึ่งระบุรูปภาพสติกเกอร์ โปรดทราบว่ารูปภาพจะแสดงเป็นส่วนหนึ่งของข้อความ Super Stickers เมื่อผู้ใช้ดูหน้าต่างแชทบน YouTube เท่านั้น แต่ URL รูปภาพจะใช้กับ API ไม่ได้ คุณดูได้ว่ารหัสสติกเกอร์ใดเกี่ยวข้องกับ Super Stickers ใดในไฟล์ CSV นี้เพื่อใช้อ้างอิงเท่านั้น |
snippet.superStickerDetails.superStickerMetadata.altText |
string สตริงข้อความที่อธิบายสติกเกอร์ ฟิลด์ snippet.superStickerDetails.superStickerMetadata.language จะระบุภาษาของข้อความ เมื่อเรียกใช้เมธอด liveChatMessages.list ให้ตั้งค่าพารามิเตอร์ hl เป็นภาษาที่เลือกสำหรับข้อความ |
snippet.superStickerDetails.superStickerMetadata.language |
string ภาษาของค่าพร็อพเพอร์ตี้ snippet.superStickerDetails.superStickerMetadata.altText |
snippet.superStickerDetails.amountMicros |
unsigned long จํานวนเงินที่ซื้อเป็นไมโครของสกุลเงินที่ซื้อ เช่น หากยอดซื้อคือ 1 ดอลลาร์ ค่าพร็อพเพอร์ตี้ snippet.amountMicros คือ 1000000 |
snippet.superStickerDetails.currency |
string สกุลเงินที่ใช้ซื้อ ค่าคือรหัสสกุลเงิน ISO 4217 |
snippet.superStickerDetails.amountDisplayString |
string สตริง เช่น $1.00 ที่มีจำนวนเงินที่ซื้อและสกุลเงิน สตริงมีไว้เพื่อแสดงต่อผู้ใช้ |
snippet.superStickerDetails.tier |
unsigned integer ระดับของข้อความแบบชำระเงิน โปรดทราบว่าในทรัพยากร superChatEvent พร็อพเพอร์ตี้ snippet.messageType จะมีค่านี้ระดับจะอิงตามจำนวนเงินที่ใช้ซื้อข้อความ นอกจากนี้ ระดับยังกำหนดสีที่ใช้ไฮไลต์ข้อความใน UI ของแชทสด ความยาวข้อความสูงสุด และระยะเวลาที่ข้อความจะปักหมุดอยู่ในแถบข้อมูล ระดับ Super Chat ซึ่งครอบคลุม Super Stickers ด้วยมีอยู่ในศูนย์ช่วยเหลือของ YouTube (ดูส่วนขยายเกี่ยวกับรายละเอียดการซื้อ Super Chat) ในรายการดังกล่าว ระดับที่มียอดซื้อต่ำสุดคือระดับ 1 ยอดซื้อที่ต่ำรองลงมาคือระดับ 2 และลำดับต่อๆ ไป |
snippet.pollDetails |
object ออบเจ็กต์นี้มีรายละเอียดเกี่ยวกับเหตุการณ์แบบสำรวจ รายการนี้จะแสดงเฉพาะในกรณีที่ประเภทข้อความเป็น pollEvent |
snippet.pollDetails.metadata |
object รายละเอียดเกี่ยวกับกิจกรรมแบบสำรวจ |
snippet.pollDetails.metadata.options |
object ตัวเลือกในแบบสำรวจสด |
snippet.pollDetails.metadata.options.optionText |
string ข้อความของตัวเลือกโพลแบบสด |
snippet.pollDetails.metadata.options.tally |
string ผลรวมของตัวเลือกแบบสำรวจสด ระบบจะแสดงจํานวนเฉพาะในกรณีที่เจ้าของช่องให้สิทธิ์คําขอ API เท่านั้น |
snippet.pollDetails.metadata.questionText |
string ข้อความของคำถามแบบสำรวจสด |
snippet.pollDetails.metadata.status |
enum สถานะของเหตุการณ์แบบสำรวจที่เผยแพร่อยู่ ค่าที่ใช้ได้สำหรับพร็อพเพอร์ตี้นี้มีดังนี้
|
snippet.membershipGiftingDetails |
object ออบเจ็กต์นี้มีรายละเอียดเกี่ยวกับกิจกรรมการให้การเป็นสมาชิกเป็นของขวัญ รายการนี้จะแสดงเฉพาะในกรณีที่ message type เป็น membershipGiftingEvent |
snippet.membershipGiftingDetails.giftMembershipsCount |
integer จำนวนการเป็นสมาชิกแบบของขวัญที่ผู้ใช้ซื้อ |
snippet.membershipGiftingDetails.giftMembershipsLevelName |
string ชื่อระดับของแพ็กเกจสมาชิกแบบของขวัญที่ผู้ใช้ซื้อ ชื่อระดับจะกำหนดโดยช่อง YouTube ที่เสนอการเป็นสมาชิก ในบางสถานการณ์ ระบบจะไม่กรอกข้อมูลในช่องนี้ |
snippet.giftMembershipReceivedDetails |
object ออบเจ็กต์นี้มีรายละเอียดเกี่ยวกับเหตุการณ์ "ได้รับการเป็นสมาชิกเป็นของขวัญ" รายการนี้จะแสดงเฉพาะในกรณีที่ message type เป็น giftMembershipReceivedEvent |
snippet.giftMembershipReceivedDetails.memberLevelName |
string ชื่อระดับที่ผู้ดูเป็นสมาชิก ซึ่งจะตรงกับ snippet.membershipGiftingDetails.giftMembershipsLevelName ของข้อความการซื้อแพ็กเกจสมาชิกแบบของขวัญที่เกี่ยวข้อง ชื่อระดับจะกำหนดโดยช่อง YouTube ที่เสนอการเป็นสมาชิก ในบางสถานการณ์ ระบบจะไม่กรอกข้อมูลในช่องนี้ |
snippet.giftMembershipReceivedDetails.gifterChannelId |
string รหัสของผู้ใช้ที่ซื้อการเป็นสมาชิกเป็นของขวัญ ซึ่งจะตรงกับ snippet.authorChannelId ของข้อความการซื้อแพ็กเกจสมาชิกแบบของขวัญที่เกี่ยวข้อง |
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId |
string รหัสของข้อความการมอบแพ็กเกจสมาชิกที่เกี่ยวข้องกับแพ็กเกจสมาชิกแบบของขวัญนี้ รหัสนี้จะอ้างอิงถึงข้อความที่มี type เป็น membershipGiftingEvent เสมอ |
authorDetails |
object ออบเจ็กต์ authorDetails มีรายละเอียดเพิ่มเติมเกี่ยวกับผู้ใช้ที่โพสต์ข้อความนี้ |
authorDetails.channelId |
string รหัสช่อง YouTube ของผู้เขียน |
authorDetails.channelUrl |
string URL ของช่อง YouTube ของผู้เขียน |
authorDetails.displayName |
string ชื่อที่แสดงของช่อง YouTube ของผู้เขียน |
authorDetails.profileImageUrl |
string URL รูปโปรไฟล์ของช่อง YouTube ของผู้เขียน |
authorDetails.isVerified |
boolean ค่านี้ระบุว่า YouTube ได้ยืนยันตัวตนของผู้แต่งแล้วหรือยัง |
authorDetails.isChatOwner |
boolean ค่านี้ระบุว่าผู้เขียนเป็นเจ้าของแชทสดหรือไม่ |
authorDetails.isChatSponsor |
boolean ค่านี้ระบุว่าผู้เขียนเป็นผู้สนับสนุนการแชทสดหรือไม่ |
authorDetails.isChatModerator |
boolean ค่านี้ระบุว่าผู้เขียนเป็นผู้ดูแลแชทสดหรือไม่ |