Eine liveChatMessage-Ressource steht für eine Chatnachricht in einem YouTube-Live-Chat. Die Ressource kann Details zu verschiedenen Arten von Nachrichten enthalten, z. B. zu einer neu geposteten Textnachricht oder einem Fan-Funding-Event.
Die Live-Chat-Funktion ist standardmäßig für Live-Übertragungen aktiviert und während der Live-Veranstaltung verfügbar. (Nach Ende der Veranstaltung ist der Live-Chat für diese Veranstaltung nicht mehr verfügbar.)
Methoden
Die API unterstützt die folgenden Methoden für liveChatMessages-Ressourcen:
- list
- Listet Livechatnachrichten für einen bestimmten Chat auf. Hier kannst du die Funktion ausprobieren.
- streamList
- Ermöglicht eine Server-Streaming-Verbindung, um Live-Chatnachrichten für einen bestimmten Chat mit geringer Latenz zu empfangen. Hier kannst du die Funktion ausprobieren.
- insert
- Fügt einem Live-Chat eine Nachricht oder eine Umfrage hinzu. Hier kannst du die Funktion ausprobieren.
- transition
- Ändert den Status einer Live-Nachricht. Hier kannst du die Funktion ausprobieren.
- Delete
- Löscht eine Chatnachricht. Die API-Anfrage muss vom Kanalinhaber oder einem Moderator des Live-Chats autorisiert werden. Hier kannst du die Funktion ausprobieren.
Ressourcendarstellung
Die folgende JSON-Struktur zeigt das Format einer liveChatMessages-Ressource:
{
"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
},
"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
},
"giftDetails": {
"jewelsAmount": integer,
"giftName": string,
"giftUrl": string,
"giftDuration": object,
"seconds": integer,
"nanos": integer,
"hasVisualEffect": boolean,
"comboCount": integer,
"altText": string,
"language": string
},
},
"authorDetails": {
"channelId": string,
"channelUrl": string,
"displayName": string,
"profileImageUrl": string,
"isVerified": boolean,
"isChatOwner": boolean,
"isChatSponsor": boolean,
"isChatModerator": boolean
},
}Attribute
In der folgenden Tabelle werden die Attribute definiert, die in dieser Ressource angezeigt werden:
| Attribute | |
|---|---|
kind |
stringGibt den Typ der API-Ressource an. Der Wert ist youtube#liveChatMessage. |
etag |
etagDas ETag dieser Ressource. |
id |
stringDie ID, die YouTube der Nachricht zur eindeutigen Identifizierung zuweist. Hinweis: Bei giftEvents kann dieselbe ID wiederverwendet werden, um die Anzahl der Combos zu aktualisieren. |
snippet |
objectDas snippet-Objekt enthält wichtige Details zur Chatnachricht. |
snippet.type |
stringDer Typ der Nachricht. Dieses Attribut ist immer vorhanden und sein Wert bestimmt, welche Felder in der Ressource vorhanden sind. Gültige Werte für dieses Attribut sind:
|
snippet.liveChatId |
stringDie ID, die den Livechat, mit dem die Nachricht verknüpft ist, eindeutig identifiziert. Die mit einer Übertragung verknüpfte Live-Chat-ID wird in der Property snippet.liveChatId der Ressource liveBroadcast zurückgegeben. |
snippet.authorChannelId |
stringDie ID des Nutzers, der die Nachricht verfasst hat. Dieses Feld wird nur für die folgenden Nachrichtentypen ausgefüllt:
|
snippet.publishedAt |
datetimeDas Datum und die Uhrzeit, zu der die Nachricht ursprünglich veröffentlicht wurde. Der Wert wird im ISO 8601-Format ( YYYY-MM-DDThh:mm:ss.sZ) angegeben. |
snippet.hasDisplayContent |
booleanGibt an, ob die Nachricht Inhalte enthält, die Nutzern angezeigt werden sollen. |
snippet.displayMessage |
stringEnthält einen String, der Nutzern angezeigt wird. Dieses Feld ist nicht vorhanden, wenn der Nachrichtentyp chatEndedEvent oder tombstone ist. |
snippet.fanFundingEventDetails |
objectHinweis: Dieses Objekt und seine untergeordneten Properties werden nicht mehr unterstützt. Ab dem 28. Februar 2017 werden von liveChatMessage-Ressourcen keine Details zu Fan-Funding-Ereignissen mehr zurückgegeben.Dieses Objekt enthält Details zum Fan-Funding-Ereignis. Es ist nur vorhanden, wenn der Nachrichtentyp fanFundingEvent ist. |
snippet.fanFundingEventDetails.amountMicros |
unsigned longHinweis: Diese Property wurde eingestellt. Der Betrag des Fonds. |
snippet.fanFundingEventDetails.currency |
stringHinweis: Diese Property wurde verworfen. Die Währung, in der der Fonds aufgelegt wurde. |
snippet.fanFundingEventDetails.amountDisplayString |
stringHinweis: Diese Property wurde eingestellt. Ein gerenderter String, der dem Nutzer den Betrag und die Währung des Guthabens anzeigt. |
snippet.fanFundingEventDetails.userComment |
stringHinweis: Diese Property wurde eingestellt. Der Kommentar, den der Nutzer diesem Fan-Funding-Ereignis hinzugefügt hat. |
snippet.textMessageDetails |
objectDieses Objekt enthält Details zur Nachricht. Sie ist nur vorhanden, wenn der Nachrichtentyp textMessageEvent ist. |
snippet.textMessageDetails.messageText |
stringDie Nachricht des Nutzers. |
snippet.userBannedDetails |
objectDieses Objekt enthält Details zu einem Nutzer, der aus dem Chat ausgeschlossen wurde. Sie enthält auch Details zum Ausschluss selbst. Nutzer können dauerhaft oder vorübergehend aus einem Chat gesperrt werden. |
snippet.userBannedDetails.bannedUserDetails |
objectDieses Objekt enthält Informationen zum gesperrten Nutzer. |
snippet.userBannedDetails.bannedUserDetails.channelId |
stringDie YouTube-Kanal-ID des gesperrten Nutzers. |
snippet.userBannedDetails.bannedUserDetails.channelUrl |
stringDie URL des YouTube-Kanals des gesperrten Nutzers. |
snippet.userBannedDetails.bannedUserDetails.displayName |
stringDer Anzeigename des YouTube-Kanals des gesperrten Nutzers. |
snippet.userBannedDetails.bannedUserDetails.profileImageUrl |
stringDer Avatar des YouTube-Kanals des gesperrten Nutzers. |
snippet.userBannedDetails.banType |
stringDie Art der Sperre. Gültige Werte für dieses Attribut sind:
|
snippet.userBannedDetails.banDurationSeconds |
unsigned longDie Dauer der Sperre. Diese Property ist nur vorhanden, wenn der Wert der Property snippet.userBannedDetails.banType temporary ist. |
snippet.memberMilestoneChatDetails |
objectDieses Objekt enthält Details zu einem Meilenstein-Ereignis für Mitglieder. Es ist nur vorhanden, wenn der Nachrichtentyp memberMilestoneChatEvent ist. |
snippet.memberMilestoneChatDetails.userComment |
stringDer Kommentar, den das Mitglied dieser Chatnachricht für treue Mitglieder hinzugefügt hat. Dieses Feld ist für Nachrichten ohne Kommentar des Mitglieds leer. |
snippet.memberMilestoneChatDetails.memberMonth |
unsigned integerDie Gesamtzahl der Monate (aufgerundet), die der Zuschauer Mitglied ist und die ihm diese Chatnachricht für treue Mitglieder eingebracht hat. Das ist dieselbe Anzahl an Monaten, die YouTube-Nutzern angezeigt wird. |
snippet.memberMilestoneChatDetails.memberLevelName |
stringDer Name der Stufe, auf der der Zuschauer Mitglied ist. Die Namen der Stufen werden vom YouTube-Kanal festgelegt, der die Mitgliedschaft anbietet. In einigen Situationen ist dieses Feld nicht ausgefüllt. |
snippet.newSponsorDetails |
objectDieses Objekt enthält Details zum Ereignis „New Member Announcement“ (Ankündigung neuer Mitglieder). Dies wird nur festgelegt, wenn der Typ newSponsorEvent ist. „Mitglied“ ist der Begriff für „Sponsor“.
|
snippet.newSponsorDetails.memberLevelName |
stringDer Name der Stufe, auf der der Zuschauer Mitglied ist. Die Namen der Stufen werden vom YouTube-Kanal festgelegt, der die Mitgliedschaft anbietet. In einigen Fällen ist dieses Feld nicht ausgefüllt. |
snippet.newSponsorDetails.isUpgrade |
boolGibt an, ob der Zuschauer gerade von einer niedrigeren Stufe aufgestiegen ist. Für Zuschauer, die zum Zeitpunkt des Kaufs keine Mitglieder waren, ist der Feldwert false.
|
snippet.superChatDetails |
objectDieses Objekt enthält Details zu einem Super Chat-Ereignis. Es ist nur vorhanden, wenn der Nachrichtentyp superChatEvent ist. |
snippet.superChatDetails.amountMicros |
unsigned longDer Kaufbetrag in Mikros der Kaufwährung. Wenn der Kaufbetrag beispielsweise 1 € beträgt, ist der Wert des Attributs snippet.amountMicros gleich 1000000. |
snippet.superChatDetails.currency |
stringDie Währung, in der der Kauf getätigt wurde. Der Wert ist ein Währungscode gemäß ISO 4217. |
snippet.superChatDetails.amountDisplayString |
stringEin String wie $1.00, der den Kaufbetrag und die Währung enthält. Der String ist für die Anzeige für den Nutzer vorgesehen. |
snippet.superChatDetails.userComment |
stringDer Kommentar, den der Nutzer zu diesem Super Chat-Ereignis hinzugefügt hat. |
snippet.superChatDetails.tier |
unsigned integerDie Stufe für die kostenpflichtige Nachricht. In einer superChatEvent-Ressource enthält die Property snippet.messageType diesen Wert.Die Stufe basiert auf dem Betrag, der für den Kauf der Nachricht ausgegeben wurde. Außerdem wird dadurch die Farbe bestimmt, mit der die Nachricht in der Benutzeroberfläche des Live-Chats hervorgehoben wird, die maximale Nachrichtenlänge und die Zeit, die die Nachricht im Ticker angepinnt wird. Die Super Chat-Stufen sind in der YouTube-Hilfe dokumentiert. (Weitere Informationen findest du im maximierbaren Abschnitt zu Super Chat-Kaufdetails.) In dieser Liste ist die Stufe mit dem niedrigsten Kaufbetrag Stufe 1, der nächsthöhere Betrag ist Stufe 2 usw. |
snippet.superStickerDetails |
objectDieses Objekt enthält Details zu einem Super Sticker-Ereignis. Sie ist nur vorhanden, wenn der Nachrichtentyp superStickerEvent ist. |
snippet.superStickerDetails.superStickerMetadata |
objectDetails zum Super Sticker. |
snippet.superStickerDetails.superStickerMetadata.stickerId |
stringEine eindeutige ID, die das Stickerbild identifiziert. Das Bild wird nur dann als Teil der Super Sticker-Nachricht angezeigt, wenn Nutzer das Chatfenster auf YouTube aufrufen. Die Bild-URL ist jedoch nicht über die API verfügbar. In dieser CSV-Datei kannst du nachsehen, welche Sticker-IDs zu welchen Super Stickern gehören. |
snippet.superStickerDetails.superStickerMetadata.altText |
stringEin Textstring, der den Sticker beschreibt. Das Feld snippet.superStickerDetails.superStickerMetadata.language gibt die Sprache des Textes an. Legen Sie beim Aufrufen der liveChatMessages.list-Methode den hl-Parameterwert auf die ausgewählte Sprache für den Text fest. |
snippet.superStickerDetails.superStickerMetadata.language |
stringDie Sprache des snippet.superStickerDetails.superStickerMetadata.altText-Attributwerts. |
snippet.superStickerDetails.amountMicros |
unsigned longDer Kaufbetrag in Mikros der Kaufwährung. Wenn der Kaufbetrag beispielsweise 1 € beträgt, ist der Wert des Attributs snippet.amountMicros 1000000. |
snippet.superStickerDetails.currency |
stringDie Währung, in der der Kauf getätigt wurde. Der Wert ist ein ISO 4217-Währungscode. |
snippet.superStickerDetails.amountDisplayString |
stringEin String wie $1.00, der den Kaufbetrag und die Währung enthält. Der String ist für die Anzeige für den Nutzer vorgesehen. |
snippet.superStickerDetails.tier |
unsigned integerDie Stufe für die kostenpflichtige Nachricht. In einer superChatEvent-Ressource enthält das Attribut snippet.messageType diesen Wert.Die Stufe basiert auf dem Betrag, der für den Kauf der Nachricht ausgegeben wurde. Außerdem wird dadurch die Farbe bestimmt, mit der die Nachricht im Live-Chat hervorgehoben wird, sowie die maximale Nachrichtenlänge und die Zeit, die die Nachricht im Ticker angepinnt bleibt. Die Super Chat-Stufen, die auch Super Sticker abdecken, sind in der YouTube-Hilfe dokumentiert. (Weitere Informationen findest du im maximierbaren Abschnitt zu Super Chat-Kaufdetails.) In dieser Liste ist die Stufe mit dem niedrigsten Kaufbetrag Stufe 1, der nächsthöhere Betrag ist Stufe 2 usw. |
snippet.pollDetails |
objectDieses Objekt enthält Details zu einem Umfrageereignis. Es ist nur vorhanden, wenn der Nachrichtentyp pollEvent ist. |
snippet.pollDetails.metadata |
objectDetails zum Umfrageereignis. |
snippet.pollDetails.metadata.options |
objectDie Optionen in der Liveumfrage. |
snippet.pollDetails.metadata.options.optionText |
stringDer Text der Option für die Live-Umfrage. |
snippet.pollDetails.metadata.options.tally |
stringDie Anzahl der Stimmen für die Option der Liveumfrage. Die Anzahl der Stimmen ist nur vorhanden, wenn die API-Anfrage vom Kanalinhaber autorisiert wurde. |
snippet.pollDetails.metadata.questionText |
stringDer Text der Frage in der Live-Umfrage. |
snippet.pollDetails.metadata.status |
enumDer Status des Live-Umfrageereignisses. Gültige Werte für dieses Attribut sind:
|
snippet.membershipGiftingDetails |
objectDieses Objekt enthält Details zu einem Ereignis, bei dem Mitgliedschaften verschenkt werden. Sie ist nur vorhanden, wenn der message type membershipGiftingEvent ist. |
snippet.membershipGiftingDetails.giftMembershipsCount |
integerDie Anzahl der vom Nutzer gekauften verschenkten Mitgliedschaften. |
snippet.membershipGiftingDetails.giftMembershipsLevelName |
stringDer Name der Stufe der vom Nutzer gekauften Geschenkmitgliedschaften. Die Namen der Stufen werden vom YouTube-Kanal definiert, der die Mitgliedschaft anbietet. In einigen Fällen ist dieses Feld nicht ausgefüllt. |
snippet.giftMembershipReceivedDetails |
objectDieses Objekt enthält Details zu einem Ereignis, bei dem eine geschenkte Mitgliedschaft erhalten wurde. Es ist nur vorhanden, wenn der message type giftMembershipReceivedEvent ist. |
snippet.giftMembershipReceivedDetails.memberLevelName |
stringDer Name der Stufe, auf der der Zuschauer Mitglied ist. Diese entspricht der snippet.membershipGiftingDetails.giftMembershipsLevelName der zugehörigen Nachricht zum Verschenken einer Mitgliedschaft. Die Namen der Stufen werden vom YouTube-Kanal festgelegt, der die Mitgliedschaft anbietet. In einigen Fällen ist dieses Feld nicht ausgefüllt. |
snippet.giftMembershipReceivedDetails.gifterChannelId |
stringDie ID des Nutzers, der das Verschenken einer Mitgliedschaft gekauft hat. Das entspricht der snippet.authorChannelId der zugehörigen Nachricht zum Verschenken einer Mitgliedschaft. |
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId |
stringDie ID der Nachricht zum Verschenken einer Mitgliedschaft, die sich auf diese geschenkte Mitgliedschaft bezieht. Diese ID bezieht sich immer auf eine Nachricht, deren type membershipGiftingEvent ist. |
snippet.giftDetails |
objectDieses Objekt enthält Details zu einem Geschenkereignis. Es ist nur vorhanden, wenn der message type giftEvent ist. |
snippet.giftDetails.jewelsAmount |
integerDie Anzahl der Juwelen, die für das Geschenk eingelöst wurden. |
snippet.giftDetails.giftName |
stringDer Name des Geschenks. |
snippet.giftDetails.giftUrl |
stringDie URL des Geschenk-Assets. |
snippet.giftDetails.giftDuration |
objectDie Dauer, für die die Geschenk-URL angezeigt wird. |
snippet.giftDetails.giftDuration.seconds |
integerDie Anzahl der Sekunden, die die Geschenk-URL angezeigt wird. |
snippet.giftDetails.giftDuration.nanos |
integerDie Anzahl der Nanosekunden, die die Geschenk-URL angezeigt wird. |
snippet.giftDetails.hasVisualEffect |
booleanGibt an, ob das Geschenk einen visuellen Effekt hat. |
snippet.giftDetails.comboCount |
integerDie Anzahl der Kombos des Geschenks; 0, wenn es sich nicht um eine Kombo handelt. |
snippet.giftDetails.altText |
stringEin Textstring, der das Geschenk beschreibt. |
snippet.giftDetails.language |
stringDie Sprache des altText-Attributwerts. |
authorDetails |
objectDas authorDetails-Objekt enthält zusätzliche Details zum Nutzer, der diese Nachricht gepostet hat. |
authorDetails.channelId |
stringDie YouTube-Kanal-ID des Autors. |
authorDetails.channelUrl |
stringDie URL des YouTube-Kanals des Autors. |
authorDetails.displayName |
stringDer Anzeigename des YouTube-Kanals des Autors. |
authorDetails.profileImageUrl |
stringDie Avatar-URL des YouTube-Kanals des Autors. |
authorDetails.isVerified |
booleanDieser Wert gibt an, ob die Identität des Autors von YouTube bestätigt wurde. |
authorDetails.isChatOwner |
booleanDieser Wert gibt an, ob der Autor der Inhaber des Live-Chats ist. |
authorDetails.isChatSponsor |
booleanDieser Wert gibt an, ob der Autor ein Sponsor des Live-Chats ist. |
authorDetails.isChatModerator |
booleanDieser Wert gibt an, ob der Autor ein Moderator des Live-Chats ist. |