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 snippet zawiera 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.liveChatId zasobu liveBroadcast. |
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 chatEndedEvent lub tombstone. |
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 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 |
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.banType to temporary. |
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.amountMicros to 1000000. |
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 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 |
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.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 |
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.amountMicros to 1000000. |
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 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 |
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 type ma 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 type ma wartość giftMembershipReceivedEvent. |
snippet.giftMembershipReceivedDetails.memberLevelName |
stringNazwa 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 |
stringIdentyfikator 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 |
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 type ma wartość membershipGiftingEvent. |
authorDetails |
objectObiekt authorDetails zawiera 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. |