Wenn Sie sich zum ersten Mal verbinden, 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.
Nachrichten in jeder Serverantwort sind von der ältesten zur neuesten sortiert. Jede Antwort enthält auch ein
nextPageToken. Wenn die Verbindung Ihres Clients getrennt wird, können Sie den Stream mit diesem Token fortsetzen. Geben Sie dazu die letzte nextPageToken, die Sie erhalten haben, als Wert für den Parameter pageToken in Ihrer neuen Verbindungsanfrage an. Die API setzt dann das Senden von Nachrichten an der Stelle fort, an der Sie aufgehört haben.
Demo
Eine Python-Demo dieses Endpunkts finden Sie im Leitfaden Streaming Live Chat.
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 Parameter liveChatId gibt die ID des Chats an, dessen Nachrichten zurückgegeben werden. Die mit einer Übertragung verknüpfte Livechat-ID wird in der snippet.liveChatId-Eigenschaft der liveBroadcast-Ressource zurückgegeben. |
|
part |
stringMit dem Parameter part werden die liveChatMessage-Ressourcenteile angegeben, 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ährungsanzeigestring für eine bestimmte Anwendungssprache abzurufen, die von der YouTube-Website unterstützt wird. Auf Deutsch 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 Parameter Die ursprüngliche Anfrage ohne Fortsetzungstoken enthält nur die letzten Ereignisse. Dieser Wert kann kleiner als Über die API werden keine Ereignisse abgerufen, die älter sind als die, die bei der ursprünglichen Anfrage ohne Fortsetzungstoken zurückgegeben wurden. |
|
pageToken |
stringDer Parameter pageToken gibt eine bestimmte Seite im Ergebnissatz an, die zurückgegeben werden soll. In einer API-Antwort gibt die Eigenschaft nextPageToken andere Seiten an, die abgerufen werden könnten. |
|
profileImageSize |
unsigned integerDer Parameter profileImageSize gibt die Größe der Profilbilder der Nutzer an, die im Ergebnissatz zurückgegeben werden sollen. Die Bilder sind quadratisch. Der Standardwert ist 88. Bilder werden also mit einer Größe von 88 × 88 Pixeln angezeigt. Zulässige Werte liegen im Bereich von 16 bis einschließlich 720. |
|
Anfragetext
Geben Sie 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": unsigne{d integer,
"offlineAt": datetime,
"pageInfo}":
"totalResults": integer,
"resultsPerPage": integer
,
}"items": [
liveChatMessage Resource
],
"activePollItem": liveChatMessage Resource
Properties
In der folgenden Tabelle werden die Attribute definiert, die in dieser Ressource enthalten sind:
| Properties | |
|---|---|
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 in der Ergebnismenge abzurufen. |
offlineAt |
datetimeDatum und Uhrzeit, zu der der zugrunde liegende Livestream offline gegangen ist. Diese Property 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 pageInfo-Objekt enthält Paging-Informationen für das Ergebnis-Set. |
pageInfo.totalResults |
integerDie Gesamtzahl der Ergebnisse im Ergebnissatz. |
pageInfo.resultsPerPage |
integerDie Anzahl der Ergebnisse, die in der API-Antwort enthalten sind. |
items[] |
listEine Liste von Nachrichten. Jedes Element in der Liste ist eine liveChatMessage-Ressource. |
activePollItem |
objectDie Umfragedaten in der Nachricht. Jede Umfrage ist eine liveChatMessage-Ressource vom Typ pollEvent, die eine aktive Umfrage darstellt. Pro Chat kann nur eine Umfrage erstellt werden. |
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 finden Sie in der Dokumentation zu Fehlermeldungen.
Wenn Sie gRPC für die Verbindung verwenden:
| gRPC-Fehlercode | Fehlerdetails | Beschreibung |
|---|---|---|
PERMISSION_DENIED (7) |
The caller does not have permission |
Sie haben nicht die erforderlichen Berechtigungen, um Nachrichten für den angegebenen Livechat abzurufen. |
INVALID_ARGUMENT (3) |
Request contains an invalid argument |
Die angegebenen Parameter konnten nicht geparst werden. Achte darauf, dass die liveChatId und andere Parameter das richtige Format haben. |
FAILED_PRECONDITION (9)* |
Precondition check failed |
LIVE_CHAT_DISABLED. Der angegebene Livechat ist deaktiviert. |
FAILED_PRECONDITION (9)* |
Precondition check failed |
LIVE_CHAT_ENDED. Nachrichten aus dem beendeten Livechat können nicht abgerufen werden. |
NOT_FOUND (5) |
Requested entity was not found |
Der Livechat, den Sie abrufen möchten, wurde nicht gefunden. Prüfen Sie 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 es zulassen. Dadurch wird unnötig Bandbreite verschwendet. |
* Aufgrund einer gRPC-Einschränkung ist es nicht möglich, anhand des Fehlercodes zwischen einem LIVE_CHAT_DISABLED- und einem LIVE_CHAT_ENDED-Fall zu unterscheiden. YouTube arbeitet aktiv an einer Lösung für dieses Problem.
Wenn Sie Web-Traffic für die Verbindung verwenden:
| Fehlertyp | Fehlerdetails | Beschreibung |
|---|---|---|
HttpStatus.FORBIDDEN (403) |
forbidden |
Sie haben nicht die erforderlichen Berechtigungen, um Nachrichten für den angegebenen Livechat abzurufen. |
HttpStatus.BAD_REQUEST (400) |
Reason for invalid request, e.g. pageTokenInvalid |
Die angegebenen Parameter konnten nicht geparst werden. Achte darauf, dass die liveChatId und andere Parameter das richtige Format haben. |
HttpStatus.FORBIDDEN (403) |
liveChatDisabled |
LIVE_CHAT_DISABLED. Der angegebene Livechat ist deaktiviert. |
HttpStatus.FORBIDDEN (403) |
liveChatEnded |
LIVE_CHAT_ENDED. Nachrichten aus dem beendeten Livechat können nicht abgerufen werden. |
HttpStatus.NOT_FOUND (404) |
liveChatNotFound |
Der Livechat, den Sie abrufen möchten, wurde nicht gefunden. Prüfen Sie 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 es zulassen. Dadurch wird unnötig Bandbreite verschwendet. |