LiveChatMessages

liveChatMessage to zasób reprezentujący wiadomość na czacie na żywo w YouTube. Może on zawierać szczegóły dotyczące kilku rodzajów wiadomości, w tym nowo opublikowanej wiadomości tekstowej lub wydarzenia związanego z finansowaniem przez fanów.

Funkcja czatu na żywo jest domyślnie włączona w przypadku transmisji na żywo i jest dostępna, gdy wydarzenie na żywo jest aktywne. (Po zakończeniu wydarzenia czat na żywo nie jest już dostępny).

Metody

Interfejs API obsługuje te metody w przypadku zasobów liveChatMessages:

list
Wyświetla listę wiadomości na czacie na żywo dla konkretnego czatu. Wypróbuj teraz
streamList
Umożliwia połączenie strumieniowe z serwerem w celu odbierania wiadomości na czacie na żywo na określonym czacie z małym opóźnieniem. Wypróbuj teraz
wstaw
Dodaje wiadomość lub ankietę do czatu na żywo. Wypróbuj teraz
transition
Zmienia stan opublikowanej wiadomości. Wypróbuj teraz
usuń
Usuwa wiadomość z czatu. Żądanie do interfejsu API musi być autoryzowane przez właściciela kanału lub moderatora czatu na żywo. Wypróbuj teraz

Prezentacja zasobów

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

Właściwości

Poniższa tabela zawiera definicje właściwości, które pojawiają się w tym zasobie:

Właściwości
kind string
Określa typ zasobu interfejsu API. Wartość będzie wynosić youtube#liveChatMessage.
etag etag
Tag ETag tego zasobu.
id string
Identyfikator przypisany przez YouTube, który jednoznacznie identyfikuje wiadomość.
snippet object
Obiekt snippet zawiera podstawowe informacje o 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 znajdują się w zasobie.

Prawidłowe wartości tej właściwości to:
  • chatEndedEvent – czat został zakończony i nie można już wstawiać po nim żadnych wiadomości. Nastąpi to automatycznie po pewnym czasie od zakończenia transmisji. Ten typ wiadomości nie jest wysyłany w przypadku czatów na żywo podczas domyślnej transmisji na kanale.
  • messageDeletedEvent – wiadomość została usunięta przez moderatora. Pole author zawiera dane moderatora. To wydarzenie nie zawiera żadnych treści do wyświetlenia.
  • sponsorOnlyModeEndedEvent – czat nie jest już w trybie tylko dla wspierających, co oznacza, że użytkownicy, którzy nie są wspierającymi, mogą teraz wysyłać wiadomości. To wydarzenie nie zawiera żadnych treści do wyświetlenia.
  • sponsorOnlyModeStartedEvent – czat został przełączony w tryb tylko dla sponsorów, co oznacza, że tylko sponsorzy mogą wysyłać wiadomości. To wydarzenie nie ma treści do wyświetlenia.
  • newSponsorEvent – nowy użytkownik zasponsorował kanał, do którego należy czat na żywo. Pola author zawierają nowe dane sponsora.
  • memberMilestoneChatEvent – użytkownik wysłał wiadomość na czacie 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 – nagrobek oznacza, że wiadomość o tym identyfikatorze i czasie publikacji istniała, ale została usunięta. Nie jest wysyłany po usunięciu wiadomości, ale wskazuje miejsce, w którym znajdowała się ona przed usunięciem. Ten typ wiadomości zawiera tylko pola snippet.liveChatId, snippet.typesnippet.publishedAt.
  • userBannedEvent – użytkownik został zablokowany przez moderatora. Pole author zawiera dane moderatora.
  • membershipGiftingEvent – użytkownik kupił wspieranie dla innych widzów.
  • giftMembershipReceivedEvent – użytkownik otrzymał wspieranie kanału w prezencie.
  • pollDetails – użytkownik utworzył ankietę na żywo.
snippet.liveChatId string
Identyfikator, który jednoznacznie określa czat na żywo, z którym jest powiązana wiadomość. Identyfikator czatu na żywo powiązanego z transmisją jest zwracany we właściwości snippet.liveChatId zasobu liveBroadcast.
snippet.authorChannelId string
Identyfikator użytkownika, który napisał wiadomość. 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 identyfikuje 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 określa członka, który wysłał wiadomość.
  • Jeśli typ wiadomości to userBannedEvent, wartość właściwości identyfikuje moderatora, który zablokował użytkownika.
  • Jeśli typ wiadomości to membershipGiftingEvent, wartość właściwości identyfikuje użytkownika, który kupił prezent w postaci subskrypcji.
  • Jeśli typ wiadomości to giftMembershipReceivedEvent, wartość właściwości identyfikuje użytkownika, który otrzymał prezent w postaci subskrypcji.
  • 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 treść wyświetlaną, 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 r. liveChatMessagezasoby nie będą już zwracać szczegółów dotyczących wydarzeń związanych z finansowaniem przez fanów

. Ten obiekt zawiera szczegóły dotyczące wydarzenia związanego z finansowaniem. Występuje tylko wtedy, gdy typ wiadomości to fanFundingEvent.
snippet.fanFundingEventDetails.amountMicros unsigned long
Uwaga: ta właściwość została wycofana.

Wartość funduszu.
snippet.fanFundingEventDetails.currency string
Uwaga: ta właściwość została wycofana.

Waluta, w której utworzono fundusz.
snippet.fanFundingEventDetails.amountDisplayString string
Uwaga: ta właściwość została wycofana.

Renderowany ciąg tekstowy, który wyświetla użytkownikowi kwotę środków i walutę.
snippet.fanFundingEventDetails.userComment string
Uwaga: ta właściwość 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. Występuje tylko wtedy, gdy typ wiadomości to textMessageEvent.
snippet.textMessageDetails.messageText string
Wiadomość użytkownika.
snippet.messageDeletedDetails object
Ten obiekt zawiera szczegółowe informacje o wiadomości usuniętej przez moderatora czatu lub właściciela kanału transmisji na żywo. Występuje 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 w przypadku oryginalnej wiadomości tekstowej. Jeśli na przykład obiekt textMessageEvent ma wartość właściwości id równą 123, a ta wiadomość zostanie później usunięta, wartość snippet.messageDeletedDetails.deletedMessageId będzie dla niej równa 123.

Jeśli po pobraniu wiadomości na czacie zapisujesz je w pamięci podręcznej, użyj wartości tej właściwości, aby zidentyfikować wiadomość, która nie powinna być już wyświetlana.
snippet.userBannedDetails object
Ten obiekt zawiera szczegółowe informacje o użytkowniku, który został zablokowany na czacie. Zawiera też szczegółowe informacje o samej blokadzie. Użytkownicy mogą zostać zablokowani na czacie 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 użytkownika, który został zbanowany.
snippet.userBannedDetails.bannedUserDetails.profileImageUrl string
Awatar kanału YouTube zablokowanego użytkownika.
snippet.userBannedDetails.banType string
Rodzaj blokady. Prawidłowe wartości tego atrybutu to:
  • nie można zmienić
  • tymczasowy,
snippet.userBannedDetails.banDurationSeconds unsigned long
Czas trwania blokady. Ta właściwość jest obecna tylko wtedy, gdy wartość właściwości snippet.userBannedDetails.banType to temporary.
snippet.memberMilestoneChatDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu etapu Member. Występuje tylko wtedy, gdy typ wiadomości to memberMilestoneChatEvent.
snippet.memberMilestoneChatDetails.userComment string
Komentarz dodany przez wspierającego do tej wiadomości od wspierającego z okazji osiągnięcia kolejnego progu. To pole jest puste w przypadku wiadomości bez komentarza od członka.
snippet.memberMilestoneChatDetails.memberMonth unsigned integer
Łączna liczba miesięcy (zaokrąglona w górę), w których widz wspierał kanał, co uprawnia go do wysłania tej wiadomości. Jest to taka sama liczba miesięcy, jaka jest wyświetlana użytkownikom YouTube.
snippet.memberMilestoneChatDetails.memberLevelName string
Nazwa poziomu, na którym widz jest członkiem. Nazwy poziomów są określane przez kanał w YouTube, który oferuje wspieranie. W niektórych sytuacjach to pole nie jest wypełnione.
snippet.newSponsorDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu ogłoszenia o nowym członku. Jest to ustawiane tylko wtedy, gdy typ to newSponsorEvent. „Członek” to określenie „sponsora”.
snippet.newSponsorDetails.memberLevelName string
Nazwa poziomu, na którym widz jest członkiem. Nazwy poziomów są określane przez kanał w YouTube, który oferuje wspieranie. W niektórych sytuacjach to pole nie jest wypełnione.
snippet.newSponsorDetails.isUpgrade bool
Wskazuje, czy widz właśnie przeszedł na wyższy poziom. W przypadku widzów, którzy w momencie zakupu nie byli wspierającymi, wartość pola to false.
snippet.superChatDetails object
Ten obiekt zawiera szczegóły dotyczące superczatu. Występuje tylko wtedy, gdy typ wiadomości to superChatEvent.
snippet.superChatDetails.amountMicros unsigned long
Kwota zakupu w milionowych częściach waluty zakupu. Jeśli na przykład kwota zakupu wynosi 1 PLN, wartość właściwości snippet.amountMicros to 1000000.
snippet.superChatDetails.currency string
Waluta, w której dokonano zakupu. Wartość jest kodem waluty w formacie ISO 4217.
snippet.superChatDetails.amountDisplayString string
Ciąg znaków, np. $1.00, który zawiera kwotę zakupu i walutę. Ciąg znaków jest przeznaczony do wyświetlania użytkownikowi.
snippet.superChatDetails.userComment string
Komentarz dodany przez użytkownika do tego zdarzenia 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 określany na podstawie kwoty wydanej na zakup wiadomości. Określa też kolor, którym wiadomość jest wyróżniana w interfejsie czatu na żywo, maksymalną długość wiadomości i czas, przez jaki wiadomość jest przypięta do paska.

Poziomy superczatu są opisane w Centrum pomocy YouTube. (Szczegóły zakupu superczatu znajdziesz w rozwijanej sekcji). Na tej liście poziom z najniższą kwotą zakupu to poziom 1, kolejny najniższy to poziom 2 itd.
snippet.superStickerDetails object
Ten obiekt zawiera szczegóły zdarzenia związanego z supernaklejką. Występuje tylko wtedy, gdy typ wiadomości to superStickerEvent.
snippet.superStickerDetails.superStickerMetadata object
Szczegóły supernaklejki.
snippet.superStickerDetails.superStickerMetadata.stickerId string
Unikalny identyfikator obrazu naklejki. Pamiętaj, że obraz jest wyświetlany jako część wiadomości z naklejką Super Sticker tylko wtedy, gdy użytkownicy wyświetlają okno czatu w YouTube. Adres URL obrazu nie jest jednak dostępny za pomocą interfejsu API. W tym pliku CSV znajdziesz informacje o tym, które identyfikatory naklejek są powiązane z poszczególnymi supernaklejkami.
snippet.superStickerDetails.superStickerMetadata.altText string
Ciąg tekstowy opisujący naklejkę. Pole snippet.superStickerDetails.superStickerMetadata.language określa język tekstu. Podczas wywoływania metody 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 zakupu w milionowych częściach waluty zakupu. Jeśli na przykład kwota zakupu wynosi 1 PLN, wartość właściwości snippet.amountMicros to 1000000.
snippet.superStickerDetails.currency string
Waluta, w której dokonano zakupu. Wartość jest kodem waluty w formacie ISO 4217.
snippet.superStickerDetails.amountDisplayString string
Ciąg znaków, np. $1.00, który zawiera kwotę zakupu i walutę. Ciąg znaków jest przeznaczony do wyświetlania 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 określany na podstawie kwoty wydanej na zakup wiadomości. Określa też kolor, którym wyróżniona jest wiadomość w interfejsie czatu na żywo, maksymalną długość wiadomości i czas, przez jaki wiadomość jest przypięta do paska.

Poziomy superczatu, które obejmują też supernaklejki, są opisane w Centrum pomocy YouTube. (Szczegóły zakupu superczatu znajdziesz w rozwijanej sekcji). Na tej liście poziom z najniższą kwotą zakupu to poziom 1, kolejny najniższy to poziom 2 itd.
snippet.pollDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu związanym z ankietą. Występuje tylko wtedy, gdy typ wiadomości to pollEvent.
snippet.pollDetails.metadata object
Szczegóły dotyczące wydarzenia związanego 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.tally string
Liczba głosów oddanych na opcję w ankiecie na żywo. Liczba jest widoczna tylko wtedy, gdy żądanie interfejsu API jest autoryzowane przez właściciela kanału.
snippet.pollDetails.metadata.questionText string
Tekst pytania w ankiecie na żywo.
snippet.pollDetails.metadata.status enum
Stan wydarzenia z ankietą na żywo. Prawidłowe wartości tego atrybutu to:
  • unknown
  • active
  • closed
snippet.membershipGiftingDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu związanym z podarowaniem subskrypcji. Jest on widoczny tylko wtedy, gdy message type ma wartość membershipGiftingEvent.
snippet.membershipGiftingDetails.giftMembershipsCount integer
Liczba zakupionych przez użytkownika subskrypcji w prezencie.
snippet.membershipGiftingDetails.giftMembershipsLevelName string
Nazwa poziomu wspierania, który został kupiony przez użytkownika. Nazwy poziomów są określane przez kanał w YouTube, który oferuje wspieranie. W niektórych sytuacjach to pole nie jest wypełnione.
snippet.giftMembershipReceivedDetails object
Ten obiekt zawiera szczegóły zdarzenia Gift Membership Received (Otrzymano subskrypcję w prezencie). Jest on widoczny tylko wtedy, gdy message type ma wartość giftMembershipReceivedEvent.
snippet.giftMembershipReceivedDetails.memberLevelName string
Nazwa poziomu, na którym widz jest członkiem. Odpowiada to snippet.membershipGiftingDetails.giftMembershipsLevelName powiązanej wiadomości o prezencie w postaci członkostwa. Nazwy poziomów są określane przez kanał w YouTube, który oferuje wspieranie. W niektórych sytuacjach to pole nie jest wypełnione.
snippet.giftMembershipReceivedDetails.gifterChannelId string
Identyfikator użytkownika, który kupił prezent w postaci subskrypcji. Odpowiada to snippet.authorChannelId powiązanej wiadomości o prezencie w postaci członkostwa.
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId string
Identyfikator wiadomości o prezencie w postaci subskrypcji, która jest powiązana z tą subskrypcją. Ten identyfikator będzie zawsze odnosić się do wiadomości, której pole type ma wartość membershipGiftingEvent.
authorDetails object
Obiekt authorDetails zawiera dodatkowe informacje o użytkowniku, który opublikował ten komunikat.
authorDetails.channelId string
Identyfikator kanału autora w YouTube.
authorDetails.channelUrl string
Adres URL kanału autora w YouTube.
authorDetails.displayName string
Wyświetlana nazwa kanału autora w YouTube.
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.