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:
|
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:
|
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. liveChatMessage zasoby 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:
|
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:
|
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. |