เมื่อคุณเชื่อมต่อเป็นครั้งแรก API จะส่งชุดข้อความที่มีประวัติการแชทล่าสุด เมื่อมีการโพสต์ข้อความใหม่ เซิร์ฟเวอร์จะส่งข้อความเหล่านั้นผ่านการเชื่อมต่อที่เปิดอยู่ต่อไป
ข้อความในการตอบกลับของเซิร์ฟเวอร์แต่ละรายการจะเรียงลำดับจากเก่าสุดไปใหม่สุด คำตอบแต่ละรายการจะมี
nextPageTokenด้วย หากไคลเอ็นต์ตัดการเชื่อมต่อ คุณสามารถใช้โทเค็นนี้เพื่อไลฟ์ต่อได้ โดยระบุ nextPageToken ล่าสุดที่คุณได้รับเป็นค่าสำหรับพารามิเตอร์ pageToken ในคำขอเชื่อมต่อใหม่ จากนั้น API จะส่งข้อความต่อจากจุดที่คุณหยุดไว้
  สาธิต
หากต้องการดูการสาธิตปลายทางนี้ใน Python โปรดดูคู่มือการสตรีมแชทสด
ส่งคำขอ
พารามิเตอร์
ตารางต่อไปนี้แสดงพารามิเตอร์ที่การค้นหานี้รองรับ พารามิเตอร์ทั้งหมดที่แสดงคือพารามิเตอร์การค้นหา
| พารามิเตอร์ | ||
|---|---|---|
| พารามิเตอร์ที่จำเป็น | ||
| liveChatId | stringพารามิเตอร์ liveChatIdระบุรหัสของแชทที่จะแสดงข้อความ ระบบจะแสดงรหัสแชทสดที่เชื่อมโยงกับการออกอากาศในพร็อพเพอร์ตี้snippet.liveChatIdของทรัพยากรliveBroadcast | |
| part | stringพารามิเตอร์ partจะระบุส่วนของทรัพยากรliveChatMessageที่การตอบกลับของ API จะรวมไว้ ค่าที่รองรับคือid,snippetและauthorDetails | |
| พารามิเตอร์ที่ไม่บังคับ | ||
| hl | stringพารามิเตอร์ hlจะสั่งให้ API ดึงสตริงการแสดงสกุลเงินที่แปลแล้วสำหรับภาษาของแอปพลิเคชันที่เฉพาะเจาะจงซึ่งเว็บไซต์ YouTube รองรับ เช่น ในภาษาอังกฤษ สกุลเงินจะแสดงเป็น$1.50แต่ในภาษาฝรั่งเศสจะแสดงเป็น1,50$ค่าพารามิเตอร์ต้องเป็นรหัสภาษาที่รวมอยู่ในรายการที่ส่งคืนโดยเมธอด i18nLanguages.list | |
| maxResults | unsigned integerพารามิเตอร์ maxResultsระบุจำนวนข้อความสูงสุดที่ควรแสดงในชุดผลลัพธ์ ค่าที่ยอมรับได้คือ200ถึง2000ค่าเริ่มต้นคือ500 | |
| pageToken | stringพารามิเตอร์ pageTokenจะระบุหน้าเว็บที่เฉพาะเจาะจงในชุดผลลัพธ์ที่ควรส่งคืน ในคำตอบของ API พร็อพเพอร์ตี้nextPageTokenจะระบุหน้าอื่นๆ ที่ดึงข้อมูลได้ | |
| profileImageSize | unsigned integerพารามิเตอร์ profileImageSizeระบุขนาดของรูปโปรไฟล์ผู้ใช้ที่ควรแสดงในชุดผลลัพธ์ รูปภาพเป็นสี่เหลี่ยมจัตุรัส ค่าเริ่มต้นคือ88ซึ่งหมายความว่ารูปภาพจะมีขนาด 88x88 พิกเซล ค่าที่ยอมรับได้อยู่ในช่วง16ถึง720 | |
เนื้อความของคำขอ
อย่าระบุเนื้อหาคำขอเมื่อเรียกใช้เมธอดนี้
การตอบกลับ
หากทำสำเร็จ เมธอดนี้จะแสดงเนื้อหาการตอบกลับที่มีโครงสร้างดังนี้
{
  "kind": "youtube#liveChatMessageListResponse",
  "etag": etag,
  "nextPageToken": string,
  "pollingIntervalMillis": unsigned integer,
  "offlineAt": datetime,
  "pageInfo": {
    "totalResults": integer,
    "resultsPerPage": integer
  },
  "items": [
    liveChatMessage Resource
  ],
  "activePollItem": liveChatMessage Resource
}พร็อพเพอร์ตี้
ตารางต่อไปนี้กำหนดพร็อพเพอร์ตี้ที่ปรากฏในทรัพยากรนี้
| พร็อพเพอร์ตี้ | |
|---|---|
| kind | stringระบุประเภทของทรัพยากร API ค่าจะเป็น youtube#liveChatMessageListResponse | 
| etag | etagEtag ของทรัพยากรนี้ | 
| nextPageToken | stringโทเค็นที่ใช้เป็นค่าของพารามิเตอร์ pageTokenเพื่อดึงข้อมูลหน้าถัดไปในชุดผลลัพธ์ได้ | 
| offlineAt | datetimeวันที่และเวลาที่ไลฟ์สดพื้นฐานออฟไลน์ พร็อพเพอร์ตี้นี้จะปรากฏก็ต่อเมื่อสตรีมออฟไลน์อยู่แล้ว ค่าจะระบุในรูปแบบ ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ) | 
| pageInfo | objectออบเจ็กต์ pageInfoจะรวมข้อมูลการแบ่งหน้าสำหรับชุดผลลัพธ์ | 
| pageInfo.totalResults | integerจํานวนผลลัพธ์ทั้งหมดในชุดผลลัพธ์ | 
| pageInfo.resultsPerPage | integerจำนวนผลลัพธ์ที่รวมอยู่ในการตอบกลับของ API | 
| items[] | listรายการข้อความ แต่ละรายการในลิสต์คือทรัพยากร liveChatMessage | 
| activePollItem | objectข้อมูลแบบสำรวจในข้อความ โพลแต่ละรายการคือ liveChatMessageทรัพยากรที่มีประเภทpollEventซึ่งแสดงถึงโพลที่ใช้งานอยู่ โดยแต่ละแชทจะมีแบบสำรวจได้เพียง 1 รายการ | 
ข้อผิดพลาด
ตารางต่อไปนี้ระบุข้อความแสดงข้อผิดพลาดที่ API อาจแสดงเพื่อตอบสนองต่อการเรียกใช้เมธอดนี้ ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบข้อความแสดงข้อผิดพลาด
เมื่อใช้ gRPC เพื่อเชื่อมต่อ ให้ทำดังนี้
| รหัสข้อผิดพลาด gRPC | รายละเอียดข้อผิดพลาด | คำอธิบาย | 
|---|---|---|
| PERMISSION_DENIED (7) | The caller does not have permission | คุณไม่มีสิทธิ์ที่จำเป็นในการดึงข้อความสำหรับแชทสดที่ระบุ | 
| INVALID_ARGUMENT (3) | Request contains an invalid argument | แยกวิเคราะห์พารามิเตอร์ที่ระบุไม่สำเร็จ ตรวจสอบว่า liveChatId และพารามิเตอร์อื่นๆ อยู่ในรูปแบบที่ถูกต้อง | 
| FAILED_PRECONDITION (9)* | Precondition check failed | LIVE_CHAT_DISABLED. แชทสดที่ระบุถูกปิดใช้ | 
| FAILED_PRECONDITION (9)* | Precondition check failed | LIVE_CHAT_ENDED คุณจะไม่สามารถดึงข้อความสำหรับแชทสดที่สิ้นสุดแล้วได้ | 
| NOT_FOUND (5) | Requested entity was not found | ไม่พบแชทสดที่คุณพยายามดึงข้อมูล ตรวจสอบค่าของพารามิเตอร์ liveChatIdของคำขอเพื่อให้แน่ใจว่าถูกต้อง | 
| RESOURCE_EXHAUSTED (8) | Resource has been exhausted (e.g. check quota) | ส่งคำขอเร็วเกินไปหลังจากส่งคำขอก่อนหน้า ข้อผิดพลาดนี้เกิดขึ้นเมื่อมีการส่งคำขอ API เพื่อดึงข้อความบ่อยกว่าอัตราการรีเฟรชของ YouTube ซึ่งทำให้สิ้นเปลืองแบนด์วิดท์โดยไม่จำเป็น | 
* เนื่องจากข้อจำกัดของ gRPC จึงไม่สามารถแยกความแตกต่างตามรหัสข้อผิดพลาดระหว่างกรณี LIVE_CHAT_DISABLED กับกรณี LIVE_CHAT_ENDED ได้ YouTube กำลังเร่งหาวิธีแก้ปัญหานี้
เมื่อใช้การเข้าชมเว็บเพื่อเชื่อมต่อ ให้ทำดังนี้
| ประเภทข้อผิดพลาด | รายละเอียดข้อผิดพลาด | คำอธิบาย | 
|---|---|---|
| HttpStatus.FORBIDDEN (403) | forbidden | คุณไม่มีสิทธิ์ที่จำเป็นในการดึงข้อความสำหรับแชทสดที่ระบุ | 
| HttpStatus.BAD_REQUEST (400) | Reason for invalid request, e.g. pageTokenInvalid | แยกวิเคราะห์พารามิเตอร์ที่ระบุไม่สำเร็จ ตรวจสอบว่า liveChatId และพารามิเตอร์อื่นๆ อยู่ในรูปแบบที่ถูกต้อง | 
| HttpStatus.FORBIDDEN (403) | liveChatDisabled | LIVE_CHAT_DISABLED. แชทสดที่ระบุถูกปิดใช้ | 
| HttpStatus.FORBIDDEN (403) | liveChatEnded | LIVE_CHAT_ENDED คุณจะไม่สามารถดึงข้อความสำหรับแชทสดที่สิ้นสุดแล้วได้ | 
| HttpStatus.NOT_FOUND (404) | liveChatNotFound | ไม่พบแชทสดที่คุณพยายามดึงข้อมูล ตรวจสอบค่าของพารามิเตอร์ liveChatIdของคำขอเพื่อให้แน่ใจว่าถูกต้อง | 
| HttpStatus.FORBIDDEN (403) | rateLimitExceeded | ส่งคำขอเร็วเกินไปหลังจากส่งคำขอก่อนหน้า ข้อผิดพลาดนี้เกิดขึ้นเมื่อมีการส่งคำขอ API เพื่อดึงข้อความบ่อยกว่าอัตราการรีเฟรชของ YouTube ซึ่งทำให้สิ้นเปลืองแบนด์วิดท์โดยไม่จำเป็น |