LiveChatMessages

Eine liveChatMessage-Ressource steht für eine Chatnachricht in einem YouTube-Livechat. Die Ressource kann Details zu verschiedenen Arten von Nachrichten enthalten, z. B. zu einer neu geposteten SMS oder zu einem Fan-Funding-Ereignis.

Die Livechat-Funktion ist für Livestreams standardmäßig aktiviert und verfügbar, solange die Live-Veranstaltung aktiv ist. Nach dem Ende der Veranstaltung ist der Livechat für diese Veranstaltung nicht mehr verfügbar.

Methoden

Die API unterstützt die folgenden Methoden für liveChatMessages-Ressourcen:

list
Hier werden die Livechatnachrichten für einen bestimmten Chat aufgelistet. Hier kannst du die Funktion ausprobieren.
insert
Füge einem Livechat eine Nachricht oder Umfrage hinzu. Hier kannst du die Funktion ausprobieren.
transition
Ändert den Status einer Livebenachrichtigung. Hier kannst du die Funktion ausprobieren.
Delete
Löst eine Chatnachricht. Die API-Anfrage muss vom Kanalinhaber oder einem Moderator des Livechats 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
    },
    "messageDeletedDetails": {
      "deletedMessageId": 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
    },
  },
  "authorDetails": {
    "channelId": string,
    "channelUrl": string,
    "displayName": string,
    "profileImageUrl": string,
    "isVerified": boolean,
    "isChatOwner": boolean,
    "isChatSponsor": boolean,
    "isChatModerator": boolean
  },
}

Attribute

In der folgenden Tabelle werden die Eigenschaften definiert, die in dieser Ressource angezeigt werden:

Attribute
kind string
Identifiziert den Typ der API-Ressource. Der Wert ist youtube#liveChatMessage.
etag etag
Das Etag dieser Ressource.
id string
Die ID, die YouTube der Nachricht zuweist, um sie eindeutig zu identifizieren.
snippet object
Das snippet-Objekt enthält die wichtigsten Details zur Chatnachricht.
snippet.type string
Der Nachrichtentyp. Diese Property ist immer vorhanden und ihr Wert bestimmt, welche Felder in der Ressource vorhanden sind.

Gültige Werte für diese Property sind:
  • chatEndedEvent: Der Chat ist beendet und nach dieser Nachricht können keine weiteren Nachrichten mehr gesendet werden. Das geschieht automatisch einige Zeit nach dem Ende einer Übertragung. Diese Art von Nachricht wird nicht für Livechats in der Standardübertragung eines Kanals gesendet.
  • messageDeletedEvent – Eine Nachricht wurde von einem Moderator gelöscht. Das Feld author enthält die Details des Moderators. Für dieses Ereignis gibt es keine Anzeigeinhalte.
  • sponsorOnlyModeEndedEvent – Der Chat ist nicht mehr nur für Sponsoren verfügbar. Das bedeutet, dass auch Nutzer, die keine Sponsoren sind, jetzt Nachrichten senden können. Für dieses Ereignis gibt es keine Anzeigeinhalte.
  • sponsorOnlyModeStartedEvent – Der Chat ist im Modus „Nur-Unterstützer“. Das bedeutet, dass nur Unterstützer Nachrichten senden können. Für dieses Ereignis gibt es keine Anzeigeinhalte.
  • newSponsorEvent – Ein neuer Nutzer hat den Kanal, zu dem der Livechat gehört, unterstützt. Die Felder author enthalten die Details des neuen Sponsors.
  • memberMilestoneChatEvent – Ein Nutzer hat eine Chatnachricht für treue Mitglieder gesendet.
  • superChatEvent – Ein Nutzer hat einen Super Chat gekauft.
  • superStickerEvent: Ein Nutzer hat einen Super Sticker gekauft.
  • textMessageEvent: Ein Nutzer hat eine SMS gesendet.
  • tombstone: Ein Tombstone gibt an, dass eine Nachricht mit dieser ID und Veröffentlichungszeit vorhanden war, aber inzwischen gelöscht wurde. Sie wird nicht beim Löschen einer Nachricht gesendet, sondern zeigt an, wo sich die Nachricht vor dem Löschen befand. Bei dieser Art von Nachricht sind nur die Felder snippet.liveChatId, snippet.type und snippet.publishedAt vorhanden.
  • userBannedEvent: Ein Nutzer wurde von einem Moderator gesperrt. Das Feld author enthält die Details des Moderators.
  • membershipGiftingEvent – Ein Nutzer hat Mitgliedschaften für andere Zuschauer gekauft.
  • giftMembershipReceivedEvent: Ein Nutzer hat eine geschenkte Mitgliedschaft erhalten.
  • pollDetails: Ein Nutzer hat eine Liveumfrage erstellt.
snippet.liveChatId string
Die ID, die den Livechat eindeutig identifiziert, mit dem die Nachricht verknüpft ist. Die mit einem Livestream verknüpfte Livechat-ID wird in der Property snippet.liveChatId der liveBroadcast-Ressource zurückgegeben.
snippet.authorChannelId string
Die ID des Nutzers, der die Nachricht verfasst hat. Dieses Feld wird nur für die folgenden Nachrichtentypen ausgefüllt:
  • Wenn der Nachrichtentyp textMessageEvent ist, gibt der Property-Wert den Nutzer an, der die Nachricht verfasst hat.
  • Wenn der Nachrichtentyp fanFundingEvent ist, gibt der Property-Wert den Nutzer an, der die Übertragung finanziert hat.
  • Wenn der Nachrichtentyp messageDeletedEvent ist, gibt der Property-Wert den Moderator an, der die Nachricht gelöscht hat.
  • Wenn der Nachrichtentyp newSponsorEvent ist, wird mit dem Property-Wert der Nutzer identifiziert, der gerade zum Sponsor geworden ist.
  • Wenn der Nachrichtentyp memberMilestoneChatEvent ist, gibt der Property-Wert das Mitglied an, das die Nachricht gesendet hat.
  • Wenn der Nachrichtentyp userBannedEvent ist, gibt der Property-Wert den Moderator an, der den Nutzer gesperrt hat.
  • Wenn der Nachrichtentyp membershipGiftingEvent ist, wird mit dem Property-Wert der Nutzer identifiziert, der die Mitgliedschaft geschenkt hat.
  • Wenn der Nachrichtentyp giftMembershipReceivedEvent ist, wird mit dem Property-Wert der Nutzer identifiziert, der die geschenkte Mitgliedschaft erhalten hat.
  • Wenn der Nachrichtentyp pollEvent ist, gibt der Property-Wert den Nutzer an, der eine Liveabfrage erstellt hat.
snippet.publishedAt datetime
Datum und Uhrzeit der ursprünglichen Veröffentlichung der Nachricht. Der Wert wird im ISO 8601-Format (YYYY-MM-DDThh:mm:ss.sZ) angegeben.
snippet.hasDisplayContent boolean
Gibt an, ob die Mitteilung Inhalte enthält, die Nutzern angezeigt werden sollen.
snippet.displayMessage string
Enthält einen String, der Nutzern angezeigt wird. Dieses Feld ist nicht vorhanden, wenn der Nachrichtentyp chatEndedEvent oder tombstone ist.
snippet.fanFundingEventDetails object
Hinweis: Dieses Objekt und seine untergeordneten Properties wurden eingestellt. Seit dem 28. Februar 2017 werden in liveChatMessage-Ressourcen keine Details zu Fan-Funding-Ereignissen mehr zurückgegeben.

Dieses Objekt enthält Details zum Finanzierungsereignis. Sie ist nur vorhanden, wenn der Nachrichtentyp fanFundingEvent ist.
snippet.fanFundingEventDetails.amountMicros unsigned long
Hinweis: Dieses Attribut wurde eingestellt.

Der Betrag des Fonds.
snippet.fanFundingEventDetails.currency string
Hinweis: Diese Eigenschaft wurde eingestellt.

Die Währung, in der die Zahlung erfolgt ist.
snippet.fanFundingEventDetails.amountDisplayString string
Hinweis: Diese Property wurde eingestellt.

Ein gerenderter String, der dem Nutzer den Fondsbetrag und die Währung anzeigt.
snippet.fanFundingEventDetails.userComment string
Hinweis: Dieses Attribut wird nicht mehr unterstützt.

Der Kommentar, den der Nutzer zu diesem Fan-Funding-Ereignis hinzugefügt hat.
snippet.textMessageDetails object
Dieses Objekt enthält Details zur SMS. Sie ist nur vorhanden, wenn der Nachrichtentyp textMessageEvent ist.
snippet.textMessageDetails.messageText string
Die Nachricht des Nutzers.
snippet.messageDeletedDetails object
Dieses Objekt enthält Details zu einer Nachricht, die von einem Chatmoderator oder vom Inhaber des Kanals der Livestreams gelöscht wurde. Sie ist nur vorhanden, wenn der Nachrichtentyp messageDeletedEvent ist.
snippet.messageDeletedDetails.deletedMessageId string
Die ID, mit der die gelöschte Nachricht eindeutig identifiziert wird. Der Wert entspricht dem Wert der Eigenschaft id der ursprünglichen SMS. Wenn eine textMessageEvent beispielsweise den id-Attributwert 123 hat und diese Nachricht anschließend gelöscht wird, ist der snippet.messageDeletedDetails.deletedMessageId-Wert für diese Nachricht 123.

Wenn Sie Chatnachrichten nach dem Abrufen im Cache speichern, verwenden Sie den Wert dieser Property, um die Nachricht zu identifizieren, die nicht mehr angezeigt werden soll.
snippet.userBannedDetails object
Dieses Objekt enthält Details zu einem Nutzer, der aus dem Chat ausgeschlossen wurde. Außerdem enthält sie Details zum Bann selbst. Nutzer können dauerhaft oder vorübergehend von einem Chat ausgeschlossen werden.
snippet.userBannedDetails.bannedUserDetails object
Dieses Objekt enthält Informationen zum gesperrten Nutzer.
snippet.userBannedDetails.bannedUserDetails.channelId string
Die YouTube-Kanal-ID des gesperrten Nutzers.
snippet.userBannedDetails.bannedUserDetails.channelUrl string
Die URL des YouTube-Kanals des gesperrten Nutzers.
snippet.userBannedDetails.bannedUserDetails.displayName string
Der Anzeigename des YouTube-Kanals des gesperrten Nutzers.
snippet.userBannedDetails.bannedUserDetails.profileImageUrl string
Der Avatar des YouTube-Kanals des gesperrten Nutzers.
snippet.userBannedDetails.banType string
Die Art des Verbots. Gültige Werte für dieses Attribut sind:
  • dauerhaft
  • Übergangslösung
snippet.userBannedDetails.banDurationSeconds unsigned long
Dauer der Sperrung. Diese Property ist nur vorhanden, wenn der Wert der Property snippet.userBannedDetails.banType temporary ist.
snippet.memberMilestoneChatDetails object
Dieses Objekt enthält Details zu einem Mitgliedsmeilenstein-Ereignis. Sie ist nur vorhanden, wenn der Nachrichtentyp memberMilestoneChatEvent ist.
snippet.memberMilestoneChatDetails.userComment string
Der Kommentar, den das Mitglied zu dieser Chatnachricht für treue Mitglieder hinzugefügt hat. Dieses Feld ist für Nachrichten ohne Kommentar des Mitglieds leer.
snippet.memberMilestoneChatDetails.memberMonth unsigned integer
Die Gesamtzahl der Monate (aufgerundet), in denen der Zuschauer Mitglied war und die ihm diese Chatnachricht für treue Mitglieder ermöglicht hat. Dieser Zeitraum entspricht der Anzahl der Monate, die YouTube-Nutzern angezeigt wird.
snippet.memberMilestoneChatDetails.memberLevelName string
Der Name der Stufe, in der sich der Betrachter befindet. Die Namen der Mitgliedschaftsstufen werden vom YouTube-Kanal festgelegt, auf dem die Mitgliedschaft angeboten wird. In einigen Fällen ist dieses Feld nicht ausgefüllt.
snippet.newSponsorDetails object
Dieses Objekt enthält Details zum Ereignis „Ankündigung neuer Mitglieder“. Dieser Wert wird nur festgelegt, wenn der Typ newSponsorEvent ist. „Mitglied“ ist der Begriff für „Sponsor“.
snippet.newSponsorDetails.memberLevelName string
Der Name der Stufe, in der sich der Betrachter befindet. Die Namen der Mitgliedschaftsstufen werden vom YouTube-Kanal festgelegt, auf dem die Mitgliedschaft angeboten wird. In einigen Fällen ist dieses Feld nicht ausgefüllt.
snippet.newSponsorDetails.isUpgrade bool
Gibt an, ob der Zuschauer gerade von einer niedrigeren Stufe zu einer höheren Stufe gewechselt ist. Bei Zuschauern, die zum Zeitpunkt des Kaufs keine Mitglieder waren, ist der Feldwert false.
snippet.superChatDetails object
Dieses Objekt enthält Details zu einem Super Chat-Ereignis. Sie ist nur vorhanden, wenn der Nachrichtentyp superChatEvent ist.
snippet.superChatDetails.amountMicros unsigned long
Der Kaufbetrag in Mikroeinheiten der Kaufwährung. Wenn der Kaufbetrag beispielsweise 1 € beträgt, ist der Wert der Property snippet.amountMicros 1000000.
snippet.superChatDetails.currency string
Die Währung, in der der Kauf erfolgte. Der Wert ist ein ISO 4217-Währungscode.
snippet.superChatDetails.amountDisplayString string
Ein String wie $1.00, der den Kaufbetrag und die Währung enthält. Der String soll dem Nutzer angezeigt werden.
snippet.superChatDetails.userComment string
Der Kommentar, den der Nutzer zu diesem Super Chat-Ereignis hinzugefügt hat.
snippet.superChatDetails.tier unsigned integer
Die 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 Mitteilung ausgegeben wurde. Außerdem wird damit die Farbe festgelegt, mit der die Nachricht in der Livechat-Benutzeroberfläche hervorgehoben wird, die maximale Nachrichtenlänge und die Dauer, für die die Nachricht im Ticker angepinnt bleibt.

Die Super Chat-Stufen sind in der YouTube-Hilfe beschrieben. Weitere Informationen findest du im Abschnitt zu Super Chat-Details. In dieser Liste ist die Stufe mit dem niedrigsten Bestellwert Stufe 1, die Stufe mit dem nächstniedrigeren Bestellwert Stufe 2 usw.
snippet.superStickerDetails object
Dieses Objekt enthält Details zu einem Super Sticker-Ereignis. Sie ist nur vorhanden, wenn der Nachrichtentyp superStickerEvent ist.
snippet.superStickerDetails.superStickerMetadata object
Details zum Super Sticker.
snippet.superStickerDetails.superStickerMetadata.stickerId string
Eine eindeutige ID, die das Sticker-Bild identifiziert. Das Bild wird nur 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 findest du nur zu Informationszwecken, welche Sticker-IDs zu welchen Super Stickern gehören.
snippet.superStickerDetails.superStickerMetadata.altText string
Ein Textstring, der den Sticker beschreibt. Im Feld snippet.superStickerDetails.superStickerMetadata.language wird die Sprache des Textes angegeben. Legen Sie beim Aufrufen der liveChatMessages.list-Methode den Parameterwert hl auf die für den Text ausgewählte Sprache fest.
snippet.superStickerDetails.superStickerMetadata.language string
Die Sprache des Werts der Property snippet.superStickerDetails.superStickerMetadata.altText.
snippet.superStickerDetails.amountMicros unsigned long
Der Kaufbetrag in Mikroeinheiten der Kaufwährung. Wenn der Kaufbetrag beispielsweise einen Euro beträgt, ist der Wert der Property snippet.amountMicros 1000000.
snippet.superStickerDetails.currency string
Die Währung, in der der Kauf erfolgte. Der Wert ist ein ISO 4217-Währungscode.
snippet.superStickerDetails.amountDisplayString string
Ein String wie $1.00, der den Kaufbetrag und die Währung enthält. Der String soll dem Nutzer angezeigt werden.
snippet.superStickerDetails.tier unsigned integer
Die 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 Mitteilung ausgegeben wurde. Außerdem wird damit die Farbe festgelegt, mit der die Nachricht in der Livechat-Benutzeroberfläche hervorgehoben wird, die maximale Nachrichtenlänge und die Dauer, für die die Nachricht im Ticker angepinnt bleibt.

Die Super Chat-Stufen, die auch Super Sticker umfassen, sind in der YouTube-Hilfe beschrieben. Weitere Informationen findest du im Abschnitt zu Super Chat-Details. In dieser Liste ist die Stufe mit dem niedrigsten Bestellwert Stufe 1, die Stufe mit dem nächstniedrigeren Bestellwert Stufe 2 usw.
snippet.pollDetails object
Dieses Objekt enthält Details zu einem Umfrageereignis. Sie ist nur vorhanden, wenn der Nachrichtentyp pollEvent ist.
snippet.pollDetails.metadata object
Details zum Umfrageereignis.
snippet.pollDetails.metadata.options object
Die Optionen in der Liveumfrage.
snippet.pollDetails.metadata.options.optionText string
Der Text der Option für die Live-Umfrage.
snippet.pollDetails.metadata.options.tally string
Die Anzahl der Stimmen für die Option der Liveumfrage. Die Anzahl ist nur vorhanden, wenn die API-Anfrage vom Kanalinhaber autorisiert wurde.
snippet.pollDetails.metadata.questionText string
Der Text der Frage der Liveumfrage.
snippet.pollDetails.metadata.status enum
Der Status der Liveabfrage. Gültige Werte für dieses Attribut sind:
  • unknown
  • active
  • closed
snippet.membershipGiftingDetails object
Dieses Objekt enthält Details zu einem Ereignis, bei dem eine Mitgliedschaft verschenkt wurde. Sie ist nur vorhanden, wenn message type membershipGiftingEvent ist.
snippet.membershipGiftingDetails.giftMembershipsCount integer
Die Anzahl der vom Nutzer gekauften Geschenkmitgliedschaften.
snippet.membershipGiftingDetails.giftMembershipsLevelName string
Der Name des Levels der vom Nutzer gekauften Geschenkmitgliedschaften. Die Namen der Mitgliedschaftsstufen werden vom YouTube-Kanal festgelegt, auf dem die Mitgliedschaft angeboten wird. In einigen Fällen ist dieses Feld nicht ausgefüllt.
snippet.giftMembershipReceivedDetails object
Dieses Objekt enthält Details zu einem Ereignis vom Typ „Geschenkmitgliedschaft erhalten“. Sie ist nur vorhanden, wenn message type giftMembershipReceivedEvent ist.
snippet.giftMembershipReceivedDetails.memberLevelName string
Der Name der Stufe, in der sich der Betrachter befindet. Dieser Wert stimmt mit der snippet.membershipGiftingDetails.giftMembershipsLevelName der zugehörigen Nachricht überein, in der die Mitgliedschaft verschenkt wird. Die Namen der Mitgliedschaftsstufen werden vom YouTube-Kanal festgelegt, auf dem die Mitgliedschaft angeboten wird. In einigen Fällen ist dieses Feld nicht ausgefüllt.
snippet.giftMembershipReceivedDetails.gifterChannelId string
Die ID des Nutzers, der die Mitgliedschaft geschenkt hat. Dieser Wert stimmt mit der snippet.authorChannelId der zugehörigen Nachricht überein, in der die Mitgliedschaft verschenkt wird.
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId string
Die ID der Nachricht zur Mitgliedschaftsübertragung, die mit dieser geschenkten Mitgliedschaft verknüpft ist. Diese ID bezieht sich immer auf eine Nachricht, deren type membershipGiftingEvent ist.
authorDetails object
Das authorDetails-Objekt enthält zusätzliche Details zum Nutzer, der diese Nachricht gepostet hat.
authorDetails.channelId string
Die YouTube-Kanal-ID des Autors.
authorDetails.channelUrl string
Die URL des YouTube-Kanals des Autors.
authorDetails.displayName string
Der Anzeigename des YouTube-Kanals des Autors.
authorDetails.profileImageUrl string
Die Avatar-URL des YouTube-Kanals des Autors.
authorDetails.isVerified boolean
Dieser Wert gibt an, ob die Identität des Autors von YouTube bestätigt wurde.
authorDetails.isChatOwner boolean
Dieser Wert gibt an, ob der Autor der Inhaber des Livechats ist.
authorDetails.isChatSponsor boolean
Dieser Wert gibt an, ob der Autor ein Sponsor des Livestreams ist.
authorDetails.isChatModerator boolean
Dieser Wert gibt an, ob der Autor ein Moderator des Livechats ist.