בחיבור הראשון, ה-API שולח סדרה של הודעות שמכילות את היסטוריית הצ'אט האחרונה. כשהודעות חדשות מתפרסמות, השרת ימשיך לשלוח אותן דרך החיבור הפתוח.
ההודעות בכל תשובה מהשרת מסודרות מהישנה ביותר לחדשה ביותר. כל תשובה כוללת גם
nextPageToken. אם הלקוח מתנתק, אתם יכולים להשתמש בטוקן הזה כדי להמשיך את השידור. כדי לעשות זאת, צריך לציין את הערך של nextPageToken האחרון שקיבלתם כערך של הפרמטר pageToken בבקשת החיבור החדשה. לאחר מכן, ה-API ימשיך לשלוח הודעות מהנקודה שבה הפסקתם.
השפעה על המכסה: קריאה ל-method הזה מנצלת 5 יחידות מהמכסה.
הדגמה (דמו)
כדי לראות הדגמה של נקודת הקצה הזו ב-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הפרמטר הבקשה הראשונית שנשלחת בלי אסימון המשך תכיל רק את האירועים האחרונים. הערך הזה יכול להיות קטן מ- ה-API לא מאחזר אירועים שנוצרו לפני האירועים שהוחזרו בבקשה הראשונית שבוצעה בלי טוקן המשך. |
|
pageToken |
stringהפרמטר pageToken מזהה דף ספציפי בקבוצת התוצאות שצריך להחזיר. בתגובה מה-API, המאפיין nextPageToken מזהה דפים אחרים שאפשר לאחזר. |
|
profileImageSize |
unsigned integerהפרמטר profileImageSize מציין את הגודל של תמונות פרופיל המשתמשים שיוחזרו בקבוצת התוצאות. התמונות ריבועיות. ערך ברירת המחדל הוא 88, כלומר התמונות יהיו בגודל 88px על 88px. הערכים הקבילים הם בטווח שבין 16 ל-720, כולל. |
|
גוף הבקשה
אל תספקו גוף בקשה כשאתם קוראים ל-method הזו.
תשובה
אם הפעולה בוצעה ללא שגיאות, ה-method מחזירה גוף תגובה במבנה הבא:
{
"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 |
etagה-Etag של המשאב הזה. |
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, שמייצג סקר פעיל. בכל צ'אט יכול להיות רק סקר אחד. |
שגיאות
בטבלה הבאה מפורטות הודעות השגיאה שה-API יכול להחזיר בתגובה לקריאה ל-method הזה. פרטים נוספים זמינים במאמר בנושא הודעות שגיאה.
כשמשתמשים ב-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 על סמך קוד השגיאה. אנחנו עובדים על פתרון לבעיה הזו.
כשמשתמשים בתנועה באתר כדי להתחבר:
| סוג שגיאה | פרטי השגיאה | תיאור |
|---|---|---|
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, מה שגורם לבזבוז מיותר של רוחב פס. |