LiveChatMessages

Eine liveChatMessage-Ressource steht für eine Chatnachricht in einem YouTube-Livechat. Die Ressource kann Details zu verschiedenen Nachrichtentypen enthalten, z. B. neu gepostete SMS oder Fan-Funding-Events.

Die Livechat-Funktion ist für Liveübertragungen standardmäßig aktiviert und steht während der Live-Veranstaltung zur Verfügung. Nach Ende der Veranstaltung ist der Livechat nicht mehr verfügbar.

Methoden

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

list
Listet Livechat-Nachrichten für einen bestimmten Chat auf. Hier kannst du die Funktion ausprobieren.
insert
Einem Livechat eine Nachricht oder eine Umfrage hinzufügen Hier kannst du die Funktion ausprobieren.
Übergang
Verwandelt den Status einer Live-Nachricht. Hier kannst du die Funktion ausprobieren.
Delete
Löscht eine Chatnachricht. Die API-Anfrage muss vom Kanalinhaber oder 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,
          "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 Attribute 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 zur eindeutigen Identifizierung der Nachricht zuweist.
snippet object
Das Objekt snippet enthält wichtige Details zur Chatnachricht.
snippet.type string
Der Nachrichtentyp. Dieses Attribut ist immer vorhanden und sein Wert bestimmt, welche Felder in der Ressource vorhanden sind.

Gültige Werte für dieses Attribut sind:
  • chatEndedEvent: Der Chat wurde beendet und es können keine weiteren Nachrichten mehr eingefügt werden. Dies geschieht normalerweise kurz nach dem Ende einer Übertragung. Diese Art von Nachricht wird bei Livechats der Standardübertragung eines Kanals nicht gesendet.
  • messageDeletedEvent: Eine Nachricht wurde von einem Moderator gelöscht. Das Feld „author“ enthält die Details des Moderators. Dieses Ereignis hat keinen angezeigten Inhalt.
  • sponsorOnlyModeEndedEvent: Der Chat befindet sich nicht mehr im Unterstützer-Modus. Das bedeutet, dass Nutzer, die keine Unterstützer sind, jetzt Nachrichten senden können. Dieses Ereignis hat keinen angezeigten Inhalt.
  • sponsorOnlyModeStartedEvent: Der Chat befindet sich im Modus „Nur für Unterstützer“. Das bedeutet, dass nur VIPs Nachrichten senden können. Dieses Ereignis hat keinen Anzeigeinhalt.
  • newSponsorEvent: Ein neuer Nutzer hat den Kanalinhaber des Livechats gesponsert. Die author-Felder 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 zeigt an, dass eine Nachricht mit dieser ID und dem Veröffentlichungszeitpunkt vorhanden war, aber inzwischen gelöscht wurde. Sie wird beim Löschen einer Nachricht nicht gesendet, sondern nur angezeigt, um anzugeben, 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 einer Übertragung verknüpfte Livechat-ID wird im Attribut snippet.liveChatId der Ressource liveBroadcast 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, identifiziert der Attributwert den Nutzer, der die Nachricht geschrieben hat.
  • Wenn der Nachrichtentyp fanFundingEvent ist, identifiziert der Attributwert den Nutzer, der die Übertragung finanziert hat.
  • Wenn der Nachrichtentyp messageDeletedEvent ist, identifiziert der Property-Wert den Moderator, der die Nachricht gelöscht hat.
  • Wenn der Nachrichtentyp newSponsorEvent ist, identifiziert der Property-Wert den Nutzer, der gerade ein Sponsor wurde.
  • Wenn der Nachrichtentyp memberMilestoneChatEvent ist, identifiziert der Attributwert das Mitglied, 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, identifiziert der Property-Wert den Nutzer, der den Kauf der Mitgliedschaft als Geschenk getätigt hat.
  • Wenn der Nachrichtentyp giftMembershipReceivedEvent ist, identifiziert der Property-Wert den Nutzer, der die geschenkte Mitgliedschaft erhalten hat.
  • Wenn der Nachrichtentyp pollEvent ist, identifiziert der Attributwert den Nutzer, der die Liveumfrage erstellt hat.
snippet.publishedAt datetime
Datum und Uhrzeit der ursprünglichen Veröffentlichung der Nachricht. Der Wert wird im Format ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) angegeben.
snippet.hasDisplayContent boolean
Gibt an, ob die Mitteilung Displayinhalte 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 Eigenschaften wurden eingestellt. Ab dem 28. Februar 2017 werden bei liveChatMessage-Ressourcen keine Details zu Veranstaltungen zur Finanzierung durch Fans mehr zurückgegeben.

Dieses Objekt enthält Details zur Finanzierungsveranstaltung. Sie ist nur vorhanden, wenn der Nachrichtentyp fanFundingEvent ist.
snippet.fanFundingEventDetails.amountMicros unsigned long
Hinweis: Diese Property wurde eingestellt.

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

Die Währung, in der der Betrag eingezahlt wurde.
snippet.fanFundingEventDetails.amountDisplayString string
Hinweis: Diese Eigenschaft wurde eingestellt.

Ein gerenderter String, der dem Nutzer den Geldbetrag und die Währung anzeigt.
snippet.fanFundingEventDetails.userComment string
Hinweis: Diese Property wurde eingestellt.

Der vom Nutzer zu dieser Fan-Funding-Veranstaltung hinzugefügte Kommentar.
snippet.textMessageDetails object
Dieses Objekt enthält Details zur Textnachricht. 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 Liveübertragung gelöscht wurde. Sie ist nur vorhanden, wenn der Nachrichtentyp messageDeletedEvent ist.
snippet.messageDeletedDetails.deletedMessageId string
Die ID, die die gelöschte Nachricht eindeutig identifiziert. Der Wert entspricht dem Attributwert id der ursprünglichen Textnachricht. Wenn beispielsweise eine textMessageEvent den id-Eigenschaftswert 123 hat und die Nachricht später 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 dieses Attributs, um die Nachricht anzugeben, die nicht mehr angezeigt werden soll.
snippet.userBannedDetails object
Dieses Objekt enthält Details zu einem Nutzer, der für den Chat gesperrt wurde. Sie enthält auch Details zum Verbot selbst. Nutzer können dauerhaft oder vorübergehend für einen Chat gesperrt werden.
snippet.userBannedDetails.bannedUserDetails object
Dieses Objekt enthält Informationen über den 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 der Sperre. Gültige Werte für diese Eigenschaft:
  • dauerhaft
  • Übergangslösung
snippet.userBannedDetails.banDurationSeconds unsigned long
Die Dauer der Sperre. Dieses Attribut ist nur vorhanden, wenn der Attributwert snippet.userBannedDetails.banType temporary ist.
snippet.memberMilestoneChatDetails object
Dieses Objekt enthält Details zu einem Meilenstein für treue Mitglieder. Sie ist nur vorhanden, wenn der Nachrichtentyp memberMilestoneChatEvent ist.
snippet.memberMilestoneChatDetails.userComment string
Der Kommentar, der vom Mitglied dieser Chatnachricht für treue Mitglieder hinzugefügt wurde. Dieses Feld ist für Nachrichten ohne Kommentar des Mitglieds leer.
snippet.memberMilestoneChatDetails.memberMonth unsigned integer
Die Gesamtzahl der Monate (aufgerundet), für die der Zuschauer Mitglied war und die ihm diese Chatnachricht für treue Mitglieder gewährt hat. Dies entspricht der Anzahl der Monate, die YouTube-Nutzern angezeigt wird.
snippet.memberMilestoneChatDetails.memberLevelName string
Der Name der Stufe, auf der der Zuschauer Mitglied ist. Die Namen der Mitgliedschaftsstufen werden vom YouTube-Kanal bestimmt, über den die Mitgliedschaft angeboten wird. In einigen Fällen wird dieses Feld nicht ausgefüllt.
snippet.newSponsorDetails object
Dieses Objekt enthält Details zum Ereignis „Ankündigung neuer Mitglieder“. Wird nur festgelegt, wenn der Typ newSponsorEvent ist. „Mitglied“ ist die Bezeichnung für „Sponsor“.
snippet.newSponsorDetails.memberLevelName string
Der Name der Stufe, auf der der Zuschauer Mitglied ist. Die Namen der Mitgliedschaftsstufen werden vom YouTube-Kanal bestimmt, über den die Mitgliedschaft angeboten wird. In einigen Fällen wird dieses Feld nicht ausgefüllt.
snippet.newSponsorDetails.isUpgrade bool
Gibt an, ob der Zuschauer gerade ein Upgrade von einer niedrigeren Stufe durchgeführt hat. Für Zuschauer, die zum Zeitpunkt des Kaufs kein Mitglied waren, lautet 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 Mikros der Kaufwährung. Wenn der Kaufbetrag beispielsweise 1 Dollar beträgt, hat der Property-Wert snippet.amountMicros den Wert 1000000.
snippet.superChatDetails.currency string
Die Währung, in der der Kauf getätigt wurde. Der Wert ist ein ISO 4217-Währungscode.
snippet.superChatDetails.amountDisplayString string
Einen 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 bezahlte Nachricht. Beachten Sie, dass das Attribut snippet.messageType in einer superChatEvent-Ressource diesen Wert enthält.

Die Stufe basiert auf dem Geldbetrag, der für den Kauf der Nachricht ausgegeben wurde. Außerdem bestimmt sie die Farbe, die verwendet wird, um die Nachricht in der Benutzeroberfläche des Livechats hervorzuheben, die maximale Nachrichtenlänge und wie lange die Nachricht im Ticker angepinnt bleibt.

Die Super Chat-Stufen sind in der YouTube-Hilfe dokumentiert. Weitere Informationen findest du im maximierbaren Abschnitt zu den Kaufdetails für Super Chat. In dieser Liste ist die Stufe mit dem niedrigsten Kaufbetrag Ebene 1, die nächstniedrigere Ebene ist 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 Stickerbild identifiziert. Hinweis: Das Bild wird nur als Teil der Super Sticker-Nachricht angezeigt, wenn Nutzer das Chatfenster auf YouTube ansehen. Die Bild-URL ist über die API jedoch nicht verfügbar. Nur zu Referenzzwecken kannst du in dieser CSV-Datei nachsehen, welche Sticker-IDs sich auf welche Super Sticker beziehen.
snippet.superStickerDetails.superStickerMetadata.altText string
Eine Textzeichenfolge, die den Sticker beschreibt. Das Feld snippet.superStickerDetails.superStickerMetadata.language gibt die Sprache des Textes an. Legen Sie beim Aufrufen der Methode liveChatMessages.list den hl-Parameterwert auf die ausgewählte Sprache für den Text fest.
snippet.superStickerDetails.superStickerMetadata.language string
Die Sprache des snippet.superStickerDetails.superStickerMetadata.altText-Eigenschaftswerts.
snippet.superStickerDetails.amountMicros unsigned long
Der Kaufbetrag in Mikros der Kaufwährung. Wenn der Kaufbetrag beispielsweise 1 Dollar beträgt, hat der Property-Wert snippet.amountMicros den Wert 1000000.
snippet.superStickerDetails.currency string
Die Währung, in der der Kauf getätigt wurde. Der Wert ist ein ISO 4217-Währungscode.
snippet.superStickerDetails.amountDisplayString string
Einen 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 bezahlte Nachricht. Beachten Sie, dass das Attribut snippet.messageType in einer superChatEvent-Ressource diesen Wert enthält.

Die Stufe basiert auf dem Geldbetrag, der für den Kauf der Nachricht ausgegeben wurde. Außerdem bestimmt sie die Farbe, die verwendet wird, um die Nachricht in der Benutzeroberfläche des Livechats hervorzuheben, die maximale Nachrichtenlänge und die Zeit, wie lange die Nachricht im Ticker angepinnt wird.

Die Super Chat-Stufen, zu denen auch Super Sticker gehören, sind in der YouTube-Hilfe dokumentiert. Weitere Informationen findest du im maximierbaren Abschnitt zu den Kaufdetails für Super Chat. In dieser Liste ist die Stufe mit dem niedrigsten Kaufbetrag Ebene 1, die nächstniedrigere Ebene ist 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 Live-Umfrage.
snippet.pollDetails.metadata.options.optionText string
Der Text der Option für die Live-Umfrage.
snippet.pollDetails.metadata.options.questionText string
Der Text der Frage für die Live-Umfrage.
snippet.pollDetails.metadata.status enum
Der Status der Liveumfrage. Gültige Werte für diese Eigenschaft:
  • unknown
  • active
  • closed
snippet.membershipGiftingDetails object
Dieses Objekt enthält Details zu einem Ereignis zum Verschenken von Mitgliedschaften. Es ist nur vorhanden, wenn message type den Wert membershipGiftingEvent hat.
snippet.membershipGiftingDetails.giftMembershipsCount integer
Die Anzahl der vom Nutzer gekauften geschenkten Mitgliedschaften.
snippet.membershipGiftingDetails.giftMembershipsLevelName string
Der Name der Stufe der vom Nutzer gekauften geschenkten Mitgliedschaften. Die Namen der Mitgliedschaftsstufen werden von dem YouTube-Kanal definiert, über den die Mitgliedschaft angeboten wird. In einigen Fällen wird dieses Feld nicht ausgefüllt.
snippet.giftMembershipReceivedDetails object
Dieses Objekt enthält Details zu einem Ereignis vom Typ „Geschenkmitgliedschaft erhalten“. Es ist nur vorhanden, wenn message type den Wert giftMembershipReceivedEvent hat.
snippet.giftMembershipReceivedDetails.memberLevelName string
Der Name der Stufe, auf der der Zuschauer Mitglied ist. Das stimmt mit den snippet.membershipGiftingDetails.giftMembershipsLevelName der verknüpften Nachricht zum Verschenken von Mitgliedschaften überein. Die Namen der Mitgliedschaftsstufen werden von dem YouTube-Kanal definiert, über den die Mitgliedschaft angeboten wird. In einigen Fällen wird dieses Feld nicht ausgefüllt.
snippet.giftMembershipReceivedDetails.gifterChannelId string
Die ID des Nutzers, der die Mitgliedschaft verschenkt hat. Dies stimmt mit den snippet.authorChannelId der verknüpften Nachricht zum Verschenken von Mitgliedschaften überein.
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId string
Die ID der Nachricht zum Verschenken von Mitgliedschaften, die sich auf diese geschenkte Mitgliedschaft bezieht. Diese ID bezieht sich immer auf Nachrichten, deren type membershipGiftingEvent ist.
authorDetails object
Das Objekt authorDetails enthält zusätzliche Details zu dem 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 überprüft 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 Livechats ist.
authorDetails.isChatModerator boolean
Dieser Wert gibt an, ob der Autor ein Moderator des Livechats ist.