LiveChatMessages

Zasób liveChatMessage reprezentuje wiadomość na czacie na żywo w YouTube. Zasób może zawierać szczegółowe informacje na temat kilku typów wiadomości, w tym nowo opublikowanego SMS-a lub wydarzenia finansowania przez fanów.

Funkcja czatu na żywo jest domyślnie włączona w transmisjach na żywo i jest dostępna podczas trwania wydarzenia na żywo. (Po zakończeniu wydarzenia czat na żywo nie będzie już dostępny).

Metody

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

list
Wyświetla listę wiadomości z czatu na żywo z konkretnego czatu. Wypróbuj teraz
wstaw
Dodaje wiadomość do czatu na żywo. Wypróbuj teraz
usuń
Usuwa wiadomość na czacie. Prośba o interfejs API musi być autoryzowana przez właściciela kanału lub moderatora czatu na żywo. Wypróbuj teraz

Reprezentacja zasobu

Poniższa struktura JSON pokazuje 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
    },
    "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 definiuje właściwości, które pojawiają się w tym zasobie:

Właściwości
kind string
Określa typ zasobu API. Wartością będzie youtube#liveChatMessage.
etag etag
Tag ETag tego zasobu.
id string
Identyfikator przypisywany w YouTube w celu jednoznacznego identyfikowania 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 znajdują się w zasobie.

Prawidłowe wartości tej właściwości to:
  • chatEndedEvent – czat został zakończony i nie będzie można wstawiać kolejnych wiadomości. Pojawi się to automatycznie jakiś czas po zakończeniu transmisji. Pamiętaj, że tego typu wiadomości nie są obecnie wysyłane w przypadku czatów na żywo w domyślnej transmisji kanału.
  • messageDeletedEvent – wiadomość została usunięta przez moderatora. Pole author zawiera dane 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ł przełączony w tryb tylko dla sponsorów, co oznacza, że tylko sponsorzy mogą wysyłać wiadomości. To wydarzenie nie ma żadnej treści do wyświetlenia.
  • newSponsorEvent – kanał, do którego należy czat na żywo, został sponsorowany przez nowego użytkownika. Pola author zawierają dane nowego sponsora.
  • memberMilestoneChatEvent – użytkownik wysłał wiadomości 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 – grobowiec oznacza, że wiadomość istniała wcześniej o tym identyfikatorze i czasie publikacji, ale została już usunięta. Nie jest ona wysyłana po usunięciu wiadomości, lecz wyświetlana w celu wskazania, gdzie znajdowała się wiadomość przed usunięciem. W tym typie wiadomości znajdują się tylko pola snippet.liveChatId, snippet.type i snippet.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.
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 identyfikuje moderatora, który ją usunął.
  • Jeśli typ wiadomości to newSponsorEvent, wartość właściwości identyfikuje użytkownika, który właśnie został sponsorem.
  • Jeśli typem wiadomości jest memberMilestoneChatEvent, wartość właściwości identyfikuje użytkownika, który wysłał wiadomość.
  • 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 subskrybentów.
  • Jeśli typ wiadomości to giftMembershipReceivedEvent, wartość właściwości identyfikuje użytkownika, który otrzymał wspieranie kanału w prezencie.
snippet.publishedAt datetime
Data i godzina pierwszego opublikowania wiadomości. Wartość musi być podana w formacie ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
snippet.hasDisplayContent boolean
Wskazuje, czy wiadomość zawiera wyświetlane treści, które powinny być wyświetlane użytkownikom.
snippet.displayMessage string
Zawiera ciąg znaków wyświetlany użytkownikom. To pole nie jest obecne, 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. zasoby liveChatMessage nie będą już zwracać szczegółowych informacji o wydarzeniach finansowania przez fanów.

Ten obiekt zawiera szczegółowe informacje o finansowaniu. występuje tylko wtedy, gdy typ wiadomości to fanFundingEvent.
snippet.fanFundingEventDetails.amountMicros unsigned long
Uwaga: ta właściwość została wycofana.

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

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

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

Komentarz dodany przez użytkownika do wydarzenia związanego z finansowaniem przez fanów.
snippet.textMessageDetails object
Ten obiekt zawiera szczegółowe informacje o SMS-ie. 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ść. Ta wartość jest taka sama jak wartość właściwości id w oryginalnym SMS-ie. Jeśli na przykład textMessageEvent ma wartość właściwości id o wartości 123 i ta wiadomość zostanie później usunięta, wartością snippet.messageDeletedDetails.deletedMessageId dla tej wiadomości będzie 123.

Jeśli wiadomości czatu zostaną zapisane w pamięci podręcznej po ich pobraniu, 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 informacje o użytkowniku, któremu zablokowano dostęp do czatu. Znajdziesz w nim też informacje o zablokowaniu. Użytkownicy mogą zostać tymczasowo lub na stałe zablokowani.
snippet.userBannedDetails.bannedUserDetails object
Ten obiekt zawiera informacje o zablokowanym użytkowniku.
snippet.userBannedDetails.bannedUserDetails.channelId string
Identyfikator zablokowanego użytkownika YouTube.
snippet.userBannedDetails.bannedUserDetails.channelUrl string
Adres URL zablokowanego kanału YouTube 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 YouTube.
snippet.userBannedDetails.banType string
Typ blokady. Prawidłowe wartości tej właściwości to:
  • Trwałe
  • tymczasowy
snippet.userBannedDetails.banDurationSeconds unsigned long
Okres obowiązywania blokady Ta właściwość występuje tylko wtedy, gdy właściwość snippet.userBannedDetails.banType ma wartość temporary.
snippet.memberMilestoneChatDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniach kamienia milowego członkostwa. występuje 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 (zaokrąglona w górę), przez jaką widz wspierał kanał, dzięki któremu otrzymał wiadomość na czacie dla wspierających osiągających kolejny próg. Jest to liczba miesięcy, która jest wyświetlana użytkownikom YouTube.
snippet.memberMilestoneChatDetails.memberLevelName string
Nazwa poziomu, na którym wspierającym jest widz. Nazwy poziomów są zdefiniowane przez kanał w YouTube oferujący funkcję wspierania. Czasami to pole jest puste.
snippet.newSponsorDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu Ogłoszenie o nowym subskrybentze. Ten obiekt jest ustawiony tylko wtedy, gdy typ to newSponsorEvent. Pamiętaj, że „członek” to nowy termin sponsora.
snippet.newSponsorDetails.memberLevelName string
Nazwa poziomu, na którym wspierającym jest widz. Nazwy poziomów są zdefiniowane przez kanał w YouTube oferujący funkcję wspierania. Czasami to pole jest puste.
snippet.newSponsorDetails.isUpgrade bool
Wskazuje, czy widz właśnie przeszedł z niższego poziomu na wyższą wersję. W przypadku widzów, którzy nie byli subskrybentami w momencie zakupu, wartość w tym polu wynosi false.
snippet.superChatDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu superczatu. występuje tylko wtedy, gdy typ wiadomości to superChatEvent.
snippet.superChatDetails.amountMicros unsigned long
Kwota zakupu w milionach waluty zakupu. Jeśli np. kwota zakupu to 1 zł, wartością właściwości snippet.amountMicros jest 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 tekstowy, np. $1.00, zawierający kwotę do zapłaty i walutę. Ten ciąg ma być 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 zależy od kwoty wydanej na zakup wiadomości. Określa on też kolor wyróżnienia wiadomości w interfejsie czatu na żywo, maksymalną długość wiadomości oraz czas, przez jaki wiadomość będzie przypięta na pasku aktywności.

Poziomy superczatu znajdziesz w Centrum pomocy YouTube. (patrz sekcja rozwijana ze szczegółami zakupu Superczatu). Z tej listy poziom z najniższą kwotą zakupu to poziom 1, kolejna niższa kwota to poziom 2 itd.
snippet.superStickerDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu supernaklejek. występuje tylko wtedy, gdy typ wiadomości to superStickerEvent.
snippet.superStickerDetails.superStickerMetadata object
Szczegółowe informacje o supernaklejce.
snippet.superStickerDetails.superStickerMetadata.stickerId string
Unikalny identyfikator, który identyfikuje obraz naklejki. Pamiętaj, że obraz jest wyświetlany tylko jako część wiadomości z supernaklejką, gdy użytkownicy wyświetlają okno czatu w YouTube. Jednak adres URL obrazu nie jest dostępny za pośrednictwem interfejsu API. Informację o tym, które identyfikatory naklejek są powiązane z poszczególnymi supernaklejkami, znajdziesz w tym pliku CSV.
snippet.superStickerDetails.superStickerMetadata.altText string
Ciąg tekstowy opisujący naklejkę. Pole snippet.superStickerDetails.superStickerMetadata.language określa język tekstu. Przy wywoływaniu 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 milionach waluty zakupu. Jeśli np. kwota zakupu to 1 zł, wartością właściwości snippet.amountMicros jest 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 tekstowy, np. $1.00, zawierający kwotę do zapłaty i walutę. Ten ciąg ma być 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 zależy od kwoty wydanej na zakup wiadomości. Określa on też kolor wyróżnienia wiadomości w interfejsie czatu na żywo, maksymalną długość wiadomości oraz czas, przez jaki wiadomość będzie przypięta na pasku aktywności.

Poziomy superczatu, które obejmują także supernaklejki, znajdziesz w Centrum pomocy YouTube. (patrz sekcja rozwijana ze szczegółami zakupu Superczatu). Z tej listy poziom z najniższą kwotą zakupu to poziom 1, kolejna niższa kwota to poziom 2 itd.
snippet.membershipGiftingDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu Podaruj subskrypcję wspieranego kanału. Istnieje tylko wtedy, gdy message type ma wartość membershipGiftingEvent.
snippet.membershipGiftingDetails.giftMembershipsCount integer
Liczba wspierania kanału w prezencie kupionych przez użytkownika.
snippet.membershipGiftingDetails.giftMembershipsLevelName string
Nazwa poziomu wspierania kanału w prezencie kupionego przez użytkownika. Nazwy poziomów są zdefiniowane przez kanał w YouTube, który oferuje wspieranie. Czasami to pole jest puste.
snippet.giftMembershipReceivedDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu „Odebrano wspieranie kanału w prezencie”. Istnieje tylko wtedy, gdy message type ma wartość giftMembershipReceivedEvent.
snippet.giftMembershipReceivedDetails.memberLevelName string
Nazwa poziomu, na którym wspierającym jest widz. Ta wartość odpowiada wartości snippet.membershipGiftingDetails.giftMembershipsLevelName powiązanej wiadomości w prezencie dla wspierających. Nazwy poziomów są zdefiniowane przez kanał w YouTube, który oferuje wspieranie. Czasami to pole jest puste.
snippet.giftMembershipReceivedDetails.gifterChannelId string
Identyfikator użytkownika, który dokonał zakupu subskrypcji w prezencie. Ta wartość odpowiada wartości snippet.authorChannelId powiązanej wiadomości w prezencie dla wspierających.
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId string
Identyfikator wiadomości w prezencie, która dotyczy wspierania kanału w prezencie. Ten identyfikator zawsze będzie odnosić się do wiadomości, której type to membershipGiftingEvent.
authorDetails object
Obiekt authorDetails zawiera dodatkowe informacje o użytkowniku, 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 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.