LiveChatMessages

Zasób liveChatMessage reprezentuje wiadomość na czacie na żywo w YouTube. Zasób może zawierać szczegółowe informacje na temat kilku rodzajów wiadomości, w tym nowo opublikowanych SMS-ów lub wydarzeń związanych z finansowaniem przez fanów.

Czat na żywo jest domyślnie włączony w przypadku transmisji na żywo i jest dostępny, gdy wydarzenie jest aktywne. Po zakończeniu wydarzenia czat na żywo nie będzie już dostępny.

Metody

Interfejs API obsługuje następujące metody w przypadku zasobów liveChatMessages:

list
Wyświetla listę wiadomości z konkretnego czatu na żywo. Wypróbuj teraz
wstaw
Dodaje wiadomość lub ankietę do czatu na żywo. Wypróbuj teraz
przejście
Przenosi stan opublikowanej wiadomości. Wypróbuj teraz
usuń
Usuwa wiadomość czatu. Żądanie do interfejsu API musi zostać zatwierdzone przez właściciela kanału lub moderatora czatu na żywo. Wypróbuj teraz

Reprezentowanie zasobu

Poniższa struktura JSON przedstawia format zasobu liveChatMessages:

{
  "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
  },
}

Właściwości

Tabela poniżej zawiera właściwości widoczne w tym zasobie:

Właściwości
kind string
Określa typ zasobu interfejsu API. Wartość wyniesie youtube#liveChatMessage.
etag etag
Etag tego zasobu.
id string
Przypisywany przez YouTube identyfikator umożliwiający jednoznaczną identyfikację wiadomości.
snippet object
Obiekt snippet zawiera podstawowe informacje na temat wiadomości na czacie.
snippet.type string
Typ wiadomości. Ta właściwość jest zawsze obecna, a jej wartość określa, które pola występują w zasobie.

Prawidłowe wartości tej właściwości to:
  • chatEndedEvent – czat zakończył się i nie można już wstawiać kolejnych wiadomości. Zazwyczaj dzieje się to chwilę po zakończeniu transmisji. Tego typu wiadomości nie są wysyłane w przypadku czatów na żywo w domyślnej transmisji na kanale.
  • messageDeletedEvent – wiadomość została usunięta przez moderatora. Pole author zawiera informacje na temat moderatora. To wydarzenie nie ma żadnej wyświetlanej treści.
  • sponsorOnlyModeEndedEvent – czat nie jest już dostępny w trybie tylko dla sponsorów, co oznacza, że użytkownicy, którzy nie są sponsorami, mogą teraz wysyłać wiadomości. To wydarzenie nie ma żadnej wyświetlanej treści.
  • sponsorOnlyModeStartedEvent – czat został włączony w tryb tylko dla sponsorów, co oznacza, że tylko sponsorzy mogą wysyłać wiadomości. To wydarzenie nie ma wyświetlanej treści.
  • newSponsorEvent – nowy użytkownik sponsoruje kanał, do którego należy czat na żywo. Pola author zawierają dane nowego sponsora.
  • memberMilestoneChatEvent – użytkownik wysłał czat dla wspierających osiągających kolejny próg.
  • superChatEvent – użytkownik kupił superczat.
  • superStickerEvent – użytkownik kupił supernaklejkę.
  • textMessageEvent – użytkownik wysłał SMS-a.
  • tombstone – tombstone oznacza, że wiadomość istniała kiedyś o tym identyfikatorze i czasie publikacji, ale została usunięta. Nie jest wysyłana po usunięciu wiadomości, lecz wskazuje, gdzie znajdowała się ta wiadomość przed usunięciem. W wiadomości tego typu występują tylko pola snippet.liveChatId, snippet.type i snippet.publishedAt.
  • userBannedEvent – użytkownik został zablokowany przez moderatora. Pole author zawiera informacje na temat moderatora.
  • membershipGiftingEvent – użytkownik kupił wspieranie dla innych widzów.
  • giftMembershipReceivedEvent – użytkownik otrzymał wspieranie w prezencie.
  • pollDetails – użytkownik utworzył ankietę na żywo.
snippet.liveChatId string
Identyfikator jednoznacznie identyfikujący czat na żywo, z którym powiązana jest wiadomość. Identyfikator czatu na żywo powiązany z transmisją jest zwracany we właściwości snippet.liveChatId zasobu liveBroadcast.
snippet.authorChannelId string
Identyfikator użytkownika, który jest autorem wiadomości. To pole jest wypełniane tylko w przypadku tych typów wiadomości:
  • Jeśli typ wiadomości to textMessageEvent, wartość właściwości identyfikuje użytkownika, który napisał wiadomość.
  • Jeśli typ wiadomości to fanFundingEvent, wartość właściwości identyfikuje użytkownika, który sfinansował transmisję.
  • Jeśli typ wiadomości to messageDeletedEvent, wartość właściwości wskazuje moderatora, który usunął wiadomość.
  • Jeśli typ wiadomości to newSponsorEvent, wartość właściwości identyfikuje użytkownika, który właśnie został sponsorem.
  • Jeśli typ wiadomości to memberMilestoneChatEvent, wartość właściwości identyfikuje użytkownika, który ją wysłał.
  • Jeśli typ wiadomości to userBannedEvent, wartość właściwości wskazuje moderatora, który zablokował użytkownika.
  • Jeśli typ wiadomości to membershipGiftingEvent, wartość właściwości identyfikuje użytkownika, który dokonał zakupu w prezencie dla wspierających.
  • Jeśli typ wiadomości to giftMembershipReceivedEvent, wartość właściwości identyfikuje użytkownika, który otrzymał wspieranie kanału w prezencie.
  • Jeśli typ wiadomości to pollEvent, wartość właściwości identyfikuje użytkownika, który utworzył ankietę na żywo.
snippet.publishedAt datetime
Data i godzina pierwotnego opublikowania wiadomości. Wartość jest podana w formacie ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
snippet.hasDisplayContent boolean
Wskazuje, czy wiadomość zawiera wyświetlaną treść, która powinna być wyświetlana użytkownikom.
snippet.displayMessage string
Zawiera ciąg znaków wyświetlany użytkownikom. To pole nie występuje, jeśli typ wiadomości to chatEndedEvent lub tombstone.
snippet.fanFundingEventDetails object
Uwaga: ten obiekt i jego właściwości podrzędne zostały wycofane. Od 28 lutego 2017 roku zasoby liveChatMessage nie będą już zwracać informacji o wydarzeniach finansowania przez fanów.

Ten obiekt zawiera informacje na temat finansowania. Jest obecny tylko wtedy, gdy typ wiadomości to fanFundingEvent.
snippet.fanFundingEventDetails.amountMicros unsigned long
Uwaga: ta usługa została wycofana.

Kwota funduszu.
snippet.fanFundingEventDetails.currency string
Uwaga: ta usługa została wycofana.

Waluta, w której przetworzono fundusz.
snippet.fanFundingEventDetails.amountDisplayString string
Uwaga: ta usługa została wycofana.

Wyrenderowany ciąg znaków, który wyświetla użytkownikowi kwotę i walutę funduszy.
snippet.fanFundingEventDetails.userComment string
Uwaga: ta usługa została wycofana.

Komentarz dodany przez użytkownika do tego wydarzenia związanego z finansowaniem przez fanów.
snippet.textMessageDetails object
Ten obiekt zawiera szczegółowe informacje o wiadomości tekstowej. Jest obecny tylko wtedy, gdy typ wiadomości to textMessageEvent.
snippet.textMessageDetails.messageText string
Wiadomość użytkownika.
snippet.messageDeletedDetails object
Ten obiekt zawiera szczegółowe informacje na temat wiadomości usuniętej przez moderatora czatu lub właściciela kanału transmisji na żywo. Jest obecny tylko wtedy, gdy typ wiadomości to messageDeletedEvent.
snippet.messageDeletedDetails.deletedMessageId string
Identyfikator, który jednoznacznie identyfikuje usuniętą wiadomość. Wartość jest taka sama jak wartość właściwości id oryginalnego SMS-a. Jeśli na przykład obiekt textMessageEvent ma wartość właściwości id równą 123, a wiadomość zostanie później usunięta, to w przypadku tej wiadomości wartość snippet.messageDeletedDetails.deletedMessageId będzie mieć wartość 123.

Jeśli po pobraniu wiadomości czatu zostaną zapisane w pamięci podręcznej, użyj wartości tej właściwości, aby zidentyfikować wiadomość, która nie powinna już być wyświetlana.
snippet.userBannedDetails object
Ten obiekt zawiera szczegółowe informacje o użytkowniku, który został zablokowany na czacie. Znajdziesz w nim też informacje o tym blokadzie. Użytkownicy mogą zostać zablokowani na stałe lub tymczasowo.
snippet.userBannedDetails.bannedUserDetails object
Ten obiekt zawiera informacje o zablokowanym użytkowniku.
snippet.userBannedDetails.bannedUserDetails.channelId string
Identyfikator kanału YouTube zablokowanego użytkownika.
snippet.userBannedDetails.bannedUserDetails.channelUrl string
Adres URL kanału YouTube zablokowanego użytkownika.
snippet.userBannedDetails.bannedUserDetails.displayName string
Wyświetlana nazwa kanału YouTube zablokowanego użytkownika.
snippet.userBannedDetails.bannedUserDetails.profileImageUrl string
Awatar kanału zablokowanego użytkownika w YouTube.
snippet.userBannedDetails.banType string
Rodzaj blokady. Prawidłowe wartości tej właściwości to:
  • Trwałe
  • tymczasowe
snippet.userBannedDetails.banDurationSeconds unsigned long
Czas trwania blokady. Ta właściwość występuje tylko wtedy, gdy wartość właściwości snippet.userBannedDetails.banType wynosi temporary.
snippet.memberMilestoneChatDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu Próg użytkownika. Jest obecny tylko wtedy, gdy typ wiadomości to memberMilestoneChatEvent.
snippet.memberMilestoneChatDetails.userComment string
Komentarz dodany przez wspierającego do tej wiadomości na czacie dla wspierających osiągających kolejny próg. To pole jest puste w przypadku wiadomości bez komentarza od członka grupy.
snippet.memberMilestoneChatDetails.memberMonth unsigned integer
Łączna liczba miesięcy, przez które widz był wspierającym, który przyznał mu ten czat dotyczący progu dla wspierających. Jest to tyle samo miesięcy, ile jest wyświetlane użytkownikom YouTube.
snippet.memberMilestoneChatDetails.memberLevelName string
Nazwa poziomu, na którym widz jest członkiem. Nazwy poziomów są określane przez kanał YouTube, który oferuje wspieranie. Czasami to pole jest puste.
snippet.newSponsorDetails object
Ten obiekt zawiera szczegółowe informacje na temat zdarzenia ogłoszenia nowego członka. Ta wartość jest ustawiona tylko wtedy, gdy typ to newSponsorEvent. „Członek” jest określeniem „sponsor”.
snippet.newSponsorDetails.memberLevelName string
Nazwa poziomu, na którym widz jest członkiem. Nazwy poziomów są określane przez kanał YouTube, który oferuje wspieranie. Czasami to pole jest puste.
snippet.newSponsorDetails.isUpgrade bool
Wskazuje, czy użytkownik właśnie zmienił niższy poziom. W przypadku widzów, którzy nie byli wspierającymi w momencie zakupu, wartość pola wynosi false.
snippet.superChatDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu Superczatu. Jest obecny tylko wtedy, gdy typ wiadomości to superChatEvent.
snippet.superChatDetails.amountMicros unsigned long
Kwota do zapłaty w milionowych częściach jednostki walutowej. Jeśli na przykład kwota zakupu to 1 zł, wartość właściwości snippet.amountMicros wynosi 1000000.
snippet.superChatDetails.currency string
Waluta, w której dokonano zakupu. Wartością jest kod waluty zgodny z normą ISO 4217.
snippet.superChatDetails.amountDisplayString string
Ciąg znaków, np. $1.00, który zawiera kwotę do zapłaty i walutę. Ten ciąg znaków jest wyświetlany użytkownikowi.
snippet.superChatDetails.userComment string
Komentarz dodany przez użytkownika do tego wydarzenia superczatu.
snippet.superChatDetails.tier unsigned integer
Poziom płatnej wiadomości. Pamiętaj, że w zasobie superChatEvent właściwość snippet.messageType zawiera tę wartość.

Poziom jest obliczany na podstawie kwoty wydanej na zakup wiadomości. Określa też kolor użyty do wyróżnienia wiadomości w interfejsie czatu na żywo, maksymalną długość wiadomości oraz czas, przez jaki wiadomość jest przypięta na pasku aktywności.

Poziomy Superczatu są opisane w Centrum pomocy YouTube. (więcej informacji znajdziesz w rozwijanej sekcji dotyczącej szczegółów zakupu Superczatu). Na tej liście poziom z najniższą kwotą zakupu to poziom 1, kolejna najniższa kwota to poziom 2 itd.
snippet.superStickerDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu Super Sticker. Jest obecny tylko wtedy, gdy typ wiadomości to superStickerEvent.
snippet.superStickerDetails.superStickerMetadata object
Szczegóły dotyczące supernaklejki.
snippet.superStickerDetails.superStickerMetadata.stickerId string
Unikalny identyfikator identyfikujący obraz naklejki. Pamiętaj, że ten obraz wyświetla się jako część wiadomości z supernaklejką tylko wtedy, gdy użytkownik wyświetla okno czatu w YouTube. Adres URL obrazu nie jest jednak dostępny za pomocą interfejsu API. Identyfikatory supernaklejek znajdziesz w tym pliku CSV tylko w celach informacyjnych.
snippet.superStickerDetails.superStickerMetadata.altText string
Ciąg tekstowy opisujący naklejkę. Pole snippet.superStickerDetails.superStickerMetadata.language określa język tekstu. Wywołując metodę liveChatMessages.list, ustaw wartość parametru hl na wybrany język tekstu.
snippet.superStickerDetails.superStickerMetadata.language string
Język wartości właściwości snippet.superStickerDetails.superStickerMetadata.altText.
snippet.superStickerDetails.amountMicros unsigned long
Kwota do zapłaty w milionowych częściach jednostki walutowej. Jeśli na przykład kwota zakupu to 1 zł, wartość właściwości snippet.amountMicros wynosi 1000000.
snippet.superStickerDetails.currency string
Waluta, w której dokonano zakupu. Wartością jest kod waluty zgodny z normą ISO 4217.
snippet.superStickerDetails.amountDisplayString string
Ciąg znaków, np. $1.00, który zawiera kwotę do zapłaty i walutę. Ten ciąg znaków jest wyświetlany użytkownikowi.
snippet.superStickerDetails.tier unsigned integer
Poziom płatnej wiadomości. Pamiętaj, że w zasobie superChatEvent właściwość snippet.messageType zawiera tę wartość.

Poziom jest obliczany na podstawie kwoty wydanej na zakup wiadomości. Określa też kolor użyty do wyróżnienia wiadomości w interfejsie czatu na żywo, maksymalną długość wiadomości oraz czas, przez jaki wiadomość jest przypięta na pasku aktywności.

Poziomy Superczatu, które również dotyczą supernaklejek, zostały opisane w Centrum pomocy YouTube. (więcej informacji znajdziesz w rozwijanej sekcji dotyczącej szczegółów zakupu Superczatu). Na tej liście poziom z najniższą kwotą zakupu to poziom 1, kolejna najniższa kwota to poziom 2 itd.
snippet.pollDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu ankiety. Jest obecny tylko wtedy, gdy typ wiadomości to pollEvent.
snippet.pollDetails.metadata object
Szczegóły dotyczące wydarzenia z ankietą.
snippet.pollDetails.metadata.options object
Opcje w ankiecie na żywo.
snippet.pollDetails.metadata.options.optionText string
Tekst opcji ankiety na żywo.
snippet.pollDetails.metadata.options.questionText string
Treść pytania w ankiecie na żywo.
snippet.pollDetails.metadata.status enum
Stan wydarzenia z ankietą na żywo. Prawidłowe wartości tej właściwości to:
  • unknown
  • active
  • closed
snippet.membershipGiftingDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu „Podaruj subskrypcję wspieranego kanału”. Wartość występuje tylko wtedy, gdy message type ma wartość membershipGiftingEvent.
snippet.membershipGiftingDetails.giftMembershipsCount integer
Liczba prezentów zakupionych przez użytkownika.
snippet.membershipGiftingDetails.giftMembershipsLevelName string
Nazwa poziomu wspierania zakupionego przez użytkownika w prezencie. Nazwy poziomów są definiowane przez kanał YouTube, który oferuje wspieranie. Czasami to pole jest puste.
snippet.giftMembershipReceivedDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu otrzymania wspierania kanału w prezencie. Wartość występuje tylko wtedy, gdy message type ma wartość giftMembershipReceivedEvent.
snippet.giftMembershipReceivedDetails.memberLevelName string
Nazwa poziomu, na którym widz jest członkiem. Ta wiadomość jest zgodna z snippet.membershipGiftingDetails.giftMembershipsLevelName powiązanej wiadomości typu „Podaruj subskrypcję wspieranego kanału”. Nazwy poziomów są definiowane przez kanał YouTube, który oferuje wspieranie. Czasami to pole jest puste.
snippet.giftMembershipReceivedDetails.gifterChannelId string
Identyfikator użytkownika, który dokonał zakupu w prezencie wspierania. Ta wiadomość jest zgodna z snippet.authorChannelId powiązanej wiadomości typu „Podaruj subskrypcję wspieranego kanału”.
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId string
Identyfikator wiadomości w prezencie dla wspierających, która jest powiązana z tym wspieraniem kanału w prezencie. Ten identyfikator zawsze będzie odnosić się do wiadomości, której atrybut type to membershipGiftingEvent.
authorDetails object
Obiekt authorDetails zawiera dodatkowe informacje na temat użytkownika, który opublikował tę wiadomość.
authorDetails.channelId string
Identyfikator kanału YouTube autora.
authorDetails.channelUrl string
Adres URL kanału YouTube autora.
authorDetails.displayName string
Wyświetlana nazwa kanału YouTube autora.
authorDetails.profileImageUrl string
Adres URL awatara kanału autora w YouTube.
authorDetails.isVerified boolean
Ta wartość wskazuje, czy tożsamość autora została zweryfikowana przez YouTube.
authorDetails.isChatOwner boolean
Ta wartość wskazuje, czy autor jest właścicielem czatu na żywo.
authorDetails.isChatSponsor boolean
Ta wartość wskazuje, czy autor jest sponsorem czatu na żywo.
authorDetails.isChatModerator boolean
Ta wartość wskazuje, czy autor jest moderatorem czatu na żywo.