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 | stringOkreśla typ zasobu interfejsu API. Wartość będzie wynosić youtube#liveChatMessage. | 
| etag | etagTag ETag tego zasobu. | 
| id | stringIdentyfikator przypisany przez YouTube, który jednoznacznie identyfikuje wiadomość. | 
| snippet | objectObiekt snippetzawiera podstawowe informacje o wiadomości na czacie. | 
| snippet.type | stringTyp 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: 
 | 
| snippet.liveChatId | stringIdentyfikator, 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.liveChatIdzasobuliveBroadcast. | 
| snippet.authorChannelId | stringIdentyfikator użytkownika, który napisał wiadomość. To pole jest wypełniane tylko w przypadku tych typów wiadomości: 
 | 
| snippet.publishedAt | datetimeData i godzina pierwotnego opublikowania wiadomości. Wartość jest podana w formacie ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ). | 
| snippet.hasDisplayContent | booleanWskazuje, czy wiadomość zawiera treść wyświetlaną, która powinna być wyświetlana użytkownikom. | 
| snippet.displayMessage | stringZawiera ciąg znaków wyświetlany użytkownikom. To pole nie występuje, jeśli typ wiadomości to chatEndedEventlubtombstone. | 
| snippet.fanFundingEventDetails | objectUwaga: 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 longUwaga: ta właściwość została wycofana. Wartość funduszu. | 
| snippet.fanFundingEventDetails.currency | stringUwaga: ta właściwość została wycofana. Waluta, w której utworzono fundusz. | 
| snippet.fanFundingEventDetails.amountDisplayString | stringUwaga: 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 | stringUwaga: ta właściwość została wycofana. Komentarz dodany przez użytkownika do tego wydarzenia związanego z finansowaniem przez fanów. | 
| snippet.textMessageDetails | objectTen obiekt zawiera szczegółowe informacje o wiadomości tekstowej. Występuje tylko wtedy, gdy typ wiadomości to textMessageEvent. | 
| snippet.textMessageDetails.messageText | stringWiadomość użytkownika. | 
| snippet.messageDeletedDetails | objectTen 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 | stringIdentyfikator, który jednoznacznie identyfikuje usuniętą wiadomość. Wartość jest taka sama jak wartość właściwości idw przypadku oryginalnej wiadomości tekstowej. Jeśli na przykład obiekttextMessageEventma wartość właściwościidrówną123, a ta wiadomość zostanie później usunięta, wartośćsnippet.messageDeletedDetails.deletedMessageIdbędzie dla niej równa123.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 | objectTen 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 | objectTen obiekt zawiera informacje o zablokowanym użytkowniku. | 
| snippet.userBannedDetails.bannedUserDetails.channelId | stringIdentyfikator kanału YouTube zablokowanego użytkownika. | 
| snippet.userBannedDetails.bannedUserDetails.channelUrl | stringAdres URL kanału YouTube zablokowanego użytkownika. | 
| snippet.userBannedDetails.bannedUserDetails.displayName | stringWyświetlana nazwa kanału użytkownika, który został zbanowany. | 
| snippet.userBannedDetails.bannedUserDetails.profileImageUrl | stringAwatar kanału YouTube zablokowanego użytkownika. | 
| snippet.userBannedDetails.banType | stringRodzaj blokady. Prawidłowe wartości tego atrybutu to: 
 | 
| snippet.userBannedDetails.banDurationSeconds | unsigned longCzas trwania blokady. Ta właściwość jest obecna tylko wtedy, gdy wartość właściwości snippet.userBannedDetails.banTypetotemporary. | 
| snippet.memberMilestoneChatDetails | objectTen obiekt zawiera szczegółowe informacje o zdarzeniu etapu Member. Występuje tylko wtedy, gdy typ wiadomości to memberMilestoneChatEvent. | 
| snippet.memberMilestoneChatDetails.userComment | stringKomentarz 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 | stringNazwa 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 | objectTen 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 | stringNazwa 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 | boolWskazuje, 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 | objectTen obiekt zawiera szczegóły dotyczące superczatu. Występuje tylko wtedy, gdy typ wiadomości to superChatEvent. | 
| snippet.superChatDetails.amountMicros | unsigned longKwota zakupu w milionowych częściach waluty zakupu. Jeśli na przykład kwota zakupu wynosi 1 PLN, wartość właściwości snippet.amountMicrosto1000000. | 
| snippet.superChatDetails.currency | stringWaluta, w której dokonano zakupu. Wartość jest kodem waluty w formacie ISO 4217. | 
| snippet.superChatDetails.amountDisplayString | stringCią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 | stringKomentarz dodany przez użytkownika do tego zdarzenia superczatu. | 
| snippet.superChatDetails.tier | unsigned integerPoziom płatnej wiadomości. Pamiętaj, że w zasobie superChatEventwłaściwośćsnippet.messageTypezawiera 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 | objectTen obiekt zawiera szczegóły zdarzenia związanego z supernaklejką. Występuje tylko wtedy, gdy typ wiadomości to superStickerEvent. | 
| snippet.superStickerDetails.superStickerMetadata | objectSzczegóły supernaklejki. | 
| snippet.superStickerDetails.superStickerMetadata.stickerId | stringUnikalny 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 | stringCiąg tekstowy opisujący naklejkę. Pole snippet.superStickerDetails.superStickerMetadata.languageokreśla język tekstu. Podczas wywoływania metodyliveChatMessages.listustaw wartość parametru hl na wybrany język tekstu. | 
| snippet.superStickerDetails.superStickerMetadata.language | stringJęzyk wartości właściwości snippet.superStickerDetails.superStickerMetadata.altText. | 
| snippet.superStickerDetails.amountMicros | unsigned longKwota zakupu w milionowych częściach waluty zakupu. Jeśli na przykład kwota zakupu wynosi 1 PLN, wartość właściwości snippet.amountMicrosto1000000. | 
| snippet.superStickerDetails.currency | stringWaluta, w której dokonano zakupu. Wartość jest kodem waluty w formacie ISO 4217. | 
| snippet.superStickerDetails.amountDisplayString | stringCią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 integerPoziom płatnej wiadomości. Pamiętaj, że w zasobie superChatEventwłaściwośćsnippet.messageTypezawiera 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 | objectTen obiekt zawiera szczegółowe informacje o zdarzeniu związanym z ankietą. Występuje tylko wtedy, gdy typ wiadomości to pollEvent. | 
| snippet.pollDetails.metadata | objectSzczegóły dotyczące wydarzenia związanego z ankietą. | 
| snippet.pollDetails.metadata.options | objectOpcje w ankiecie na żywo. | 
| snippet.pollDetails.metadata.options.optionText | stringTekst opcji ankiety na żywo. | 
| snippet.pollDetails.metadata.options.tally | stringLiczba 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 | stringTekst pytania w ankiecie na żywo. | 
| snippet.pollDetails.metadata.status | enumStan wydarzenia z ankietą na żywo. Prawidłowe wartości tego atrybutu to: 
 | 
| snippet.membershipGiftingDetails | objectTen obiekt zawiera szczegółowe informacje o zdarzeniu związanym z podarowaniem subskrypcji. Jest on widoczny tylko wtedy, gdy message typema wartośćmembershipGiftingEvent. | 
| snippet.membershipGiftingDetails.giftMembershipsCount | integerLiczba zakupionych przez użytkownika subskrypcji w prezencie. | 
| snippet.membershipGiftingDetails.giftMembershipsLevelName | stringNazwa 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 | objectTen obiekt zawiera szczegóły zdarzenia Gift Membership Received (Otrzymano subskrypcję w prezencie). Jest on widoczny tylko wtedy, gdy message typema wartośćgiftMembershipReceivedEvent. | 
| snippet.giftMembershipReceivedDetails.memberLevelName | stringNazwa poziomu, na którym widz jest członkiem. Odpowiada to snippet.membershipGiftingDetails.giftMembershipsLevelNamepowią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 | stringIdentyfikator użytkownika, który kupił prezent w postaci subskrypcji. Odpowiada to snippet.authorChannelIdpowiązanej wiadomości o prezencie w postaci członkostwa. | 
| snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId | stringIdentyfikator 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 typema wartośćmembershipGiftingEvent. | 
| authorDetails | objectObiekt authorDetailszawiera dodatkowe informacje o użytkowniku, który opublikował ten komunikat. | 
| authorDetails.channelId | stringIdentyfikator kanału autora w YouTube. | 
| authorDetails.channelUrl | stringAdres URL kanału autora w YouTube. | 
| authorDetails.displayName | stringWyświetlana nazwa kanału autora w YouTube. | 
| authorDetails.profileImageUrl | stringAdres URL awatara kanału autora w YouTube. | 
| authorDetails.isVerified | booleanTa wartość wskazuje, czy tożsamość autora została zweryfikowana przez YouTube. | 
| authorDetails.isChatOwner | booleanTa wartość wskazuje, czy autor jest właścicielem czatu na żywo. | 
| authorDetails.isChatSponsor | booleanTa wartość wskazuje, czy autor jest sponsorem czatu na żywo. | 
| authorDetails.isChatModerator | booleanTa wartość wskazuje, czy autor jest moderatorem czatu na żywo. |