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 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 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 zasobów liveChatMessages:

list
Wyświetla listę wiadomości na czacie na żywo z określonego czatu. Wypróbuj teraz
wstaw
Dodaje wiadomość do czatu na żywo. Wypróbuj teraz
usuń
Usuwa wiadomość czatu. Żądanie do interfejsu API musi być autoryzowane 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 przedstawia właściwości, które pojawiają się w tym zasobie:

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

Prawidłowe wartości tej właściwości to:
  • chatEndedEvent – czat został zakończony i nie można już wstawiać kolejnych wiadomości po tej wiadomości. Pojawi się to automatycznie w krótkim czasie po zakończeniu transmisji. Wiadomości tego typu nie są wysyłane w przypadku czatów na żywo w ramach domyślnej transmisji kanału.
  • messageDeletedEvent – wiadomość została usunięta przez moderatora. Pole author zawiera dane moderatora. To wydarzenie nie ma żadnej zawartości wyświetlanej.
  • sponsorOnlyModeEndedEvent – czat nie będzie już 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 zawartości wyświetlanej.
  • sponsorOnlyModeStartedEvent – czat przeszedł w tryb tylko dla sponsorów, co oznacza, że tylko sponsorzy mogą wysyłać wiadomości. To wydarzenie nie ma żadnej zawartości.
  • newSponsorEvent – nowy użytkownik sponsorował kanał, który jest właścicielem czatu na żywo. Pola author zawierają dane nowego 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 – grobowiec oznacza, że wiadomość istniała wcześniej z tym identyfikatorem i datą publikacji, ale została już usunięta. Nie jest wysyłana po usunięciu wiadomości, ale jest pokazywana 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łnione 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 ją napisał.
  • Jeśli typ wiadomości to fanFundingEvent, wartość właściwości identyfikuje użytkownika, który finansuje transmisję.
  • Jeśli typ wiadomości to messageDeletedEvent, wartość właściwości wskazuje 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 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 prezentu dla wspierających.
  • Jeśli typ wiadomości to giftMembershipReceivedEvent, wartość właściwości identyfikuje użytkownika, który otrzymał wspieranie w prezencie.
snippet.publishedAt datetime
Data i godzina pierwszego opublikowania wiadomości. Wartość należy podać w formacie ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
snippet.hasDisplayContent boolean
Wskazuje, czy wiadomość zawiera treść, która powinna być wyświetlana 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 związanych z finansowaniem przez fanów.

Ten obiekt zawiera szczegółowe informacje o wydarzeniu dotyczącym finansowania. Istnieje 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ę.
snippet.fanFundingEventDetails.userComment string
Uwaga: ta właściwość została wycofana.

Komentarz dodany przez użytkownika do tego wydarzenia dotyczącego finansowania przez fanów.
snippet.textMessageDetails object
Ten obiekt zawiera szczegółowe informacje o SMS-ie. Istnieje 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 z transmisją na żywo. Istnieje 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 pierwotnym SMS-ie. Jeśli na przykład textMessageEvent ma wartość właściwości id o wartości 123, a ta wiadomość zostanie później usunięta, wartość snippet.messageDeletedDetails.deletedMessageId będzie wynosić 123 dla tej wiadomości.

Jeśli wiadomości czatu przechowujesz 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 szczegółowe informacje o użytkowniku, który został zablokowany w czacie. Znajdziesz w nim też szczegółowe informacje o zablokowaniu. 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 zablokowanego użytkownika YouTube.
snippet.userBannedDetails.bannedUserDetails.channelUrl string
Adres URL kanału zablokowanego użytkownika w YouTube.
snippet.userBannedDetails.bannedUserDetails.displayName string
Wyświetlana nazwa kanału zablokowanego użytkownika YouTube.
snippet.userBannedDetails.bannedUserDetails.profileImageUrl string
Awatar kanału zablokowanego użytkownika w 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 wartość właściwości snippet.userBannedDetails.banType to temporary.
snippet.memberMilestoneChatDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniach kamienia milowego dla subskrybentów. Istnieje tylko wtedy, gdy typ wiadomości to memberMilestoneChatEvent.
snippet.memberMilestoneChatDetails.userComment string
Komentarz dodany przez wspierającego do 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, i przekazał mu tę wiadomość. Jest to liczba miesięcy, która jest wyświetlana użytkownikom YouTube.
snippet.memberMilestoneChatDetails.memberLevelName string
Nazwa poziomu, którego wspierający jest członkiem. Nazwy poziomów są określane przez kanał w YouTube, który oferuje tę funkcję. Czasami to pole nie jest wypełnione.
snippet.newSponsorDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu Ogłoszenie nowego członka. Tę wartość ustawia się tylko wtedy, gdy typem jest newSponsorEvent. Termin „członek” to termin „sponsor”.
snippet.newSponsorDetails.memberLevelName string
Nazwa poziomu, którego wspierający jest członkiem. Nazwy poziomów są określane przez kanał w YouTube, który oferuje tę funkcję. 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 wspierającymi w momencie zakupu, wartość w tym polu to false.
snippet.superChatDetails object
Ten obiekt zawiera szczegółowe informacje o wydarzeniu superczatu. Istnieje tylko wtedy, gdy typ wiadomości to superChatEvent.
snippet.superChatDetails.amountMicros unsigned long
Kwota zakupu w częściach waluty zakupu. Jeśli np. kwota zakupu to 1 zł, wartość właściwości snippet.amountMicros to 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 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 zależy od kwoty wydanej na zakup wiadomości. Określa też kolor używany do wyróżniania 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. (w rozwijanej sekcji szczegółów dotyczących 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 supernaklejek. Istnieje tylko wtedy, gdy typ wiadomości to superStickerEvent.
snippet.superStickerDetails.superStickerMetadata object
Szczegółowe informacje o supernaklejkach.
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. Adres URL obrazu nie jest jednak dostępny za pomocą interfejsu API. Informacje o tym, które identyfikatory naklejek są powiązane z którymi 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. 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 zakupu w częściach waluty zakupu. Jeśli np. kwota zakupu to 1 zł, wartość właściwości snippet.amountMicros to 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 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 zależy od 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ść będzie przypięta na pasku aktywności.

Poziomy superczatu, które obejmują również supernaklejki, znajdziesz w Centrum pomocy YouTube. (w rozwijanej sekcji szczegółów dotyczących 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. Istnieje tylko wtedy, gdy typ wiadomości to pollEvent.
snippet.pollDetails.metadata object
Szczegółowe informacje o zdarzeniu ankiety.
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
Tekst pytania do ankiety na żywo.
snippet.pollDetails.metadata.status enum
Stan wydarzenia ankiety 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”. Istnieje tylko wtedy, gdy message type ma wartość membershipGiftingEvent.
snippet.membershipGiftingDetails.giftMembershipsCount integer
Liczba subskrypcji wspierania 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ą określane przez kanał w YouTube, który oferuje tę funkcję. Czasami to pole jest puste.
snippet.giftMembershipReceivedDetails object
Ten obiekt zawiera szczegółowe informacje o zdarzeniu „Odebrano wspieranie w prezencie”. Istnieje tylko wtedy, gdy message type ma wartość giftMembershipReceivedEvent.
snippet.giftMembershipReceivedDetails.memberLevelName string
Nazwa poziomu, którego wspierający jest członkiem. Ta wartość odpowiada wartości snippet.membershipGiftingDetails.giftMembershipsLevelName powiązanej wiadomości o prezencie dla wspierających. Nazwy poziomów są określane przez kanał w YouTube, który oferuje tę funkcję. Czasami to pole jest puste.
snippet.giftMembershipReceivedDetails.gifterChannelId string
Identyfikator użytkownika, który dokonał zakupu w postaci prezentu za wspieranie. Ta wartość odpowiada wartości snippet.authorChannelId powiązanej wiadomości o prezencie dla wspierających.
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId string
Identyfikator wiadomości w prezencie z subskrypcją, która jest związana z tym wspieraniem w prezencie. Ten identyfikator będzie zawsze odwoływać 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 autora.
authorDetails.isVerified boolean
Ta wartość wskazuje, czy tożsamość autora została zweryfikowana przez YouTube.
authorDetails.isChatOwner boolean
Ta wartość wskazuje, czy autor czatu na żywo jest właścicielem.
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.