Wenn du dich zum ersten Mal verbindest, sendet die API eine Reihe von Nachrichten mit dem aktuellen Chatverlauf. Wenn neue Nachrichten gepostet werden, sendet der Server sie weiterhin über die offene Verbindung.
Die Nachrichten in jeder Serverantwort sind vom ältesten zum neuesten sortiert. Jede Antwort enthält auch ein
nextPageToken. Wenn die Verbindung zu deinem Client getrennt wird, kannst du dieses Token verwenden, um den Stream fortzusetzen. Gib dazu das letzte nextPageToken, das du erhalten hast, als Wert für den Parameter pageToken in deiner neuen Verbindungsanfrage an. Die API sendet dann Nachrichten ab dem Punkt, an dem du aufgehört hast.
Auswirkungen auf das Kontingent: Ein Aufruf dieser Methode hat einen Kontingentaufwand von 5 Einheiten.
Demo
Eine Python-Demo dieses Endpunkts findest du im Leitfaden zum Streaming von Live-Chats.
Anfrage
Parameter
In der folgenden Tabelle sind die Parameter aufgeführt, die von dieser Abfrage unterstützt werden. Alle aufgeführten Parameter sind Abfrageparameter.
| Parameter | ||
|---|---|---|
| Erforderliche Parameter | ||
liveChatId |
stringDer liveChatId Parameter gibt die ID des Chats an, dessen Nachrichten zurückgegeben werden. Die Live-Chat-ID, die mit einer Übertragung verknüpft ist, wird in der Eigenschaft snippet.liveChatId der Ressource liveBroadcast zurückgegeben. |
|
part |
stringDer Parameter part gibt die Teile der Ressource liveChatMessage an, die in der API-Antwort enthalten sein sollen. Unterstützte Werte sind id, snippet und authorDetails. |
|
| Optionale Parameter | ||
hl |
stringMit dem Parameter hl wird die API angewiesen, einen lokalisierten Währungsanzeige-String für eine bestimmte Anwendungssprache abzurufen, die von der YouTube-Website unterstützt wird. Auf Englisch wird die Währung beispielsweise als $1.50 angezeigt, auf Französisch als 1,50$.Der Parameterwert muss ein Sprachcode sein, der in der Liste enthalten ist, die von der Methode i18nLanguages.list zurückgegeben wird. |
|
maxResults |
unsigned integerDer Die erste Anfrage ohne Fortsetzungstoken enthält nur die letzten Ereignisse. Dieser Wert kann kleiner als Die API ruft keine Ereignisse ab, die älter sind als die, die von der ersten Anfrage ohne Fortsetzungstoken zurückgegeben wurden. |
|
pageToken |
stringDer pageToken Parameter gibt eine bestimmte Seite im Ergebnissatz an, die zurückgegeben werden soll. In einer API-Antwort werden mit der Eigenschaft nextPageToken andere Seiten angegeben, die abgerufen werden können. |
|
profileImageSize |
unsigned integerDer Parameter profileImageSize gibt die Größe der Nutzerprofilbilder an, die im Ergebnissatz zurückgegeben werden sollen. Die Bilder sind quadratisch. Der Standardwert ist 88. Die Bilder sind also 88 × 88 Pixel groß. Zulässige Werte liegen im Bereich von 16 bis 720 (einschließlich). |
|
Anfragetext
Gib beim Aufrufen dieser Methode keinen Anfragetext an.
Antwort
Bei Erfolg gibt diese Methode einen Antworttext mit der folgenden Struktur zurück:
{
"kind": "youtube#liveChatMessageListResponse",
"etag": etag,
"nextPageToken": string,
"pollingIntervalMillis": unsigned integer,
"offlineAt": datetime,
"pageInfo": {
"totalResults": integer,
"resultsPerPage": integer
},
"items": [
liveChatMessage Resource
],
"activePollItem": liveChatMessage Resource
}Attribute
In der folgenden Tabelle sind die Attribute definiert, die in dieser Ressource enthalten sind:
| Attribute | |
|---|---|
kind |
stringGibt den Typ der API-Ressource an. Der Wert ist youtube#liveChatMessageListResponse. |
etag |
etagDas ETag dieser Ressource. |
nextPageToken |
stringDas Token, das als Wert des Parameters pageToken verwendet werden kann, um die nächste Seite im Ergebnissatz abzurufen. |
offlineAt |
datetimeDatum und Uhrzeit, zu der der zugrunde liegende Livestream offline gegangen ist. Diese Eigenschaft ist nur vorhanden, wenn der Stream bereits offline ist. Der Wert wird im ISO 8601-Format ( YYYY-MM-DDThh:mm:ss.sZ) angegeben. |
pageInfo |
objectDas Objekt pageInfo enthält Paging-Informationen für den Ergebnissatz. |
pageInfo.totalResults |
integerDie Gesamtzahl der Ergebnisse im Ergebnissatz. |
pageInfo.resultsPerPage |
integerDie Anzahl der Ergebnisse in der API-Antwort. |
items[] |
listEine Liste von Nachrichten. Jedes Element in der Liste ist eine Ressource vom Typ liveChatMessage. |
activePollItem |
objectDie Umfragedaten in der Nachricht. Jede Umfrage ist eine Ressource vom Typ liveChatMessage mit dem Typ pollEvent, die eine aktive Umfrage darstellt. Pro Chat kann nur eine Umfrage vorhanden sein. |
Fehler
In der folgenden Tabelle sind die Fehlermeldungen aufgeführt, die die API als Antwort auf einen Aufruf dieser Methode zurückgeben kann. Weitere Informationen findest du in der Dokumentation zu Fehlermeldungen.
Bei Verwendung von gRPC für die Verbindung:
| gRPC-Fehlercode | Fehlerdetails | Beschreibung |
|---|---|---|
PERMISSION_DENIED (7) |
The caller does not have permission |
Du hast nicht die erforderlichen Berechtigungen, um Nachrichten für den angegebenen Live-Chat abzurufen. |
INVALID_ARGUMENT (3) |
Request contains an invalid argument |
Die angegebenen Parameter konnten nicht geparst werden. Achte darauf, dass die Parameter `liveChatId` und andere Parameter das richtige Format haben. |
FAILED_PRECONDITION (9)* |
Precondition check failed |
LIVE_CHAT_DISABLED. Der angegebene Live-Chat ist deaktiviert. |
FAILED_PRECONDITION (9)* |
Precondition check failed |
LIVE_CHAT_ENDED. Du kannst keine Nachrichten für den beendeten Live-Chat abrufen. |
NOT_FOUND (5) |
Requested entity was not found |
Der Live-Chat, den du abrufen möchtest, wurde nicht gefunden. Prüfe den Wert des Parameters liveChatId der Anfrage, um sicherzustellen, dass er korrekt ist. |
RESOURCE_EXHAUSTED (8) |
Resource has been exhausted (e.g. check quota) |
Die Anfrage wurde zu schnell nach der vorherigen Anfrage gesendet. Dieser Fehler tritt auf, wenn API-Anfragen zum Abrufen von Nachrichten häufiger gesendet werden als die Aktualisierungsraten von YouTube. Dadurch wird unnötig Bandbreite verbraucht. |
* Aufgrund einer gRPC-Einschränkung ist es nicht möglich, anhand des Fehlercodes zwischen einem Fall von LIVE_CHAT_DISABLED und einem Fall von LIVE_CHAT_ENDED zu unterscheiden. YouTube arbeitet aktiv an einer Lösung für dieses Problem.
Bei Verwendung von Web-Traffic für die Verbindung:
| Fehlertyp | Fehlerdetails | Beschreibung |
|---|---|---|
HttpStatus.FORBIDDEN (403) |
forbidden |
Du hast nicht die erforderlichen Berechtigungen, um Nachrichten für den angegebenen Live-Chat abzurufen. |
HttpStatus.BAD_REQUEST (400) |
Reason for invalid request, e.g. pageTokenInvalid |
Die angegebenen Parameter konnten nicht geparst werden. Achte darauf, dass die Parameter `liveChatId` und andere Parameter das richtige Format haben. |
HttpStatus.FORBIDDEN (403) |
liveChatDisabled |
LIVE_CHAT_DISABLED. Der angegebene Live-Chat ist deaktiviert. |
HttpStatus.FORBIDDEN (403) |
liveChatEnded |
LIVE_CHAT_ENDED. Du kannst keine Nachrichten für den beendeten Live-Chat abrufen. |
HttpStatus.NOT_FOUND (404) |
liveChatNotFound |
Der Live-Chat, den du abrufen möchtest, wurde nicht gefunden. Prüfe den Wert des Parameters liveChatId der Anfrage, um sicherzustellen, dass er korrekt ist. |
HttpStatus.FORBIDDEN (403) |
rateLimitExceeded |
Die Anfrage wurde zu schnell nach der vorherigen Anfrage gesendet. Dieser Fehler tritt auf, wenn API-Anfragen zum Abrufen von Nachrichten häufiger gesendet werden als die Aktualisierungsraten von YouTube. Dadurch wird unnötig Bandbreite verbraucht. |