Zasób liveChatMessage
reprezentuje wiadomość na czacie na żywo w YouTube. Zasób może zawierać szczegóły dotyczące kilku typów wiadomości, w tym nowo opublikowanej wiadomości tekstowej lub wydarzenia dotyczącego finansowania przez fanów.
Funkcja czatu na żywo jest domyślnie włączona w przypadku transmisji na żywo i jest dostępna, gdy trwa wydarzenie na żywo. (po zakończeniu wydarzenia czat na żywo nie jest już dostępny).
Metody
Interfejs API obsługuje te metody dotyczące zasobów liveChatMessages
:
- list
- Wyświetla listę wiadomości z czatu na żywo dotyczące konkretnego czatu. Wypróbuj teraz
- insert
- Dodaje wiadomość lub ankietę do czatu na żywo. Wypróbuj teraz
- transition
- Przechodzi do stanu wiadomości na żywo. Wypróbuj teraz
- usuń
- Usuwanie wiadomości z czatu. Żądanie do interfejsu API musi być autoryzowane przez właściciela kanału lub moderatora czatu na żywo. Wypróbuj teraz
Reprezentacja zasobu
Struktura JSON poniżej 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 }, "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
Właściwości występujące w tym zasobie są opisane w tabeli poniżej:
Właściwości | |
---|---|
kind |
string Określa typ zasobu interfejsu API. Wartość będzie wynosić youtube#liveChatMessage . |
etag |
etag Etag tego zasobu. |
id |
string Identyfikator przypisany przez YouTube do jednoznacznej identyfikacji wiadomości. |
snippet |
object Obiekt snippet zawiera podstawowe informacje o wiadomości czatu. |
snippet.type |
string Typ wiadomości. Ta właściwość jest zawsze obecna, a jej wartość określa, które pola są dostępne w zasobach. Prawidłowe wartości tej właściwości to:
|
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 w 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:
|
snippet.publishedAt |
datetime Data i godzina pierwotnego opublikowania wiadomości. Wartość jest podawana w formacie ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). |
snippet.hasDisplayContent |
boolean Wskazuje, czy wiadomość zawiera 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 widoczne, 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ółów wydarzeń finansowania przez fanów.Ten obiekt zawiera szczegóły zdarzenia finansowania. Jest obecny 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 utworzono fundusz. |
snippet.fanFundingEventDetails.amountDisplayString |
string Uwaga: ta właściwość została wycofana. Wyrenderowany ciąg tekstowy, który wyświetla użytkownikowi kwotę i walutę funduszu. |
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 informacje o wiadomości tekstowej. Jest obecny tylko wtedy, gdy typ wiadomości to textMessageEvent . |
snippet.textMessageDetails.messageText |
string Wiadomość użytkownika. |
snippet.messageDeletedDetails |
object Ten obiekt zawiera informacje o wiadomości, którą moderator czatu lub właściciel kanału transmisji na żywo usunął. Jest obecny tylko wtedy, gdy typ wiadomości to messageDeletedEvent . |
snippet.messageDeletedDetails.deletedMessageId |
string Identyfikator jednoznacznie identyfikujący usuniętą wiadomość. Wartość jest taka sama jak wartość właściwości id w pierwotnej wiadomości tekstowej. Jeśli na przykład wiadomość textMessageEvent ma wartość właściwości id równą 123 , a następnie zostanie usunięta, wartość snippet.messageDeletedDetails.deletedMessageId będzie dla niej równa 123 .Jeśli po pobraniu wiadomości z pamięci podręcznej przechowujesz 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 informacje o użytkowniku, który został wykluczony z czatu. Zawiera on też szczegóły dotyczące samego zakazu. Użytkownicy mogą zostać na stałe lub tymczasowo wykluczeni z czatu. |
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 YouTube zablokowanego użytkownika. |
snippet.userBannedDetails.bannedUserDetails.profileImageUrl |
string Awatar kanału YouTube zablokowanego użytkownika. |
snippet.userBannedDetails.banType |
string Typ zablokowania. Prawidłowe wartości tej właściwości 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 Użytkownik. Jest obecny tylko wtedy, gdy typ wiadomości to memberMilestoneChatEvent . |
snippet.memberMilestoneChatDetails.userComment |
string Komentarz dodany przez wspierającego w ramach wiadomości od wspierającego z okazji osiągnięcia kolejnego progu. To pole jest puste w przypadku wiadomości bez komentarza członka zespołu. |
snippet.memberMilestoneChatDetails.memberMonth |
unsigned integer Łączna liczba miesięcy (zaokrąglona w górę), w których widz był wspierającym i które dały mu możliwość skorzystania z wiadomości na czacie dla wspierających osiągających kolejny próg. Jest to ta sama liczba miesięcy, która jest wyświetlana użytkownikom YouTube. |
snippet.memberMilestoneChatDetails.memberLevelName |
string Nazwa poziomu, na którym użytkownik jest członkiem. Nazwy poziomów są definiowane przez kanał YouTube, który oferuje wspieranie. W niektórych sytuacjach to pole może być puste. |
snippet.newSponsorDetails |
object Ten obiekt zawiera szczegóły zdarzenia ogłaszania nowego członka. Jest on ustawiony tylko wtedy, gdy typ to newSponsorEvent . „Członek” to synonim „sponsora”.
|
snippet.newSponsorDetails.memberLevelName |
string Nazwa poziomu, na którym użytkownik jest członkiem. Nazwy poziomów są definiowane przez kanał YouTube, który oferuje wspieranie. W niektórych sytuacjach to pole może być puste. |
snippet.newSponsorDetails.isUpgrade |
bool Wskazuje, czy widz właśnie przeszedł na wyższy poziom. W przypadku widzów, którzy nie byli wspierającymi w momencie zakupu, wartość pola to false .
|
snippet.superChatDetails |
object Ten obiekt zawiera szczegóły zdarzenia superczatu. Jest obecny 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 dolar, wartość właściwości snippet.amountMicros to 1000000 . |
snippet.superChatDetails.currency |
string Waluta, w której dokonano zakupu. Wartość to kod waluty w formacie ISO 4217. |
snippet.superChatDetails.amountDisplayString |
string Ciąg, np. $1.00 , zawierający kwotę i walutę zakupu. Ten ciąg znaków ma być wyświetlany użytkownikowi. |
snippet.superChatDetails.userComment |
string Komentarz dodany przez użytkownika do tego zdarzenia superczatu. |
snippet.superChatDetails.tier |
unsigned integer Poziom wiadomości płatnej. Pamiętaj, że w zasobie superChatEvent wartość tę zawiera właściwość snippet.messageType .Poziom jest określany na podstawie kwoty wydanej na zakup wiadomości. Określa on też kolor używany do wyróżniania wiadomości w interfejsie czatu na żywo, maksymalną długość wiadomości oraz czas, przez jaki wiadomość jest przypięta do tickera. Poziomy superczatu są opisane w Centrum pomocy YouTube. (zobacz rozwijaną sekcję dotyczącą szczegółów zakupu superczatów). Na tej liście poziom z najniższą kwotą zakupu jest poziomem 1, następny z najniższą kwotą jest poziomem 2 itd. |
snippet.superStickerDetails |
object Ten obiekt zawiera szczegóły zdarzenia związanego z supernaklejką. Jest obecny tylko wtedy, gdy typ wiadomości to superStickerEvent . |
snippet.superStickerDetails.superStickerMetadata |
object Szczegóły supernaklejki. |
snippet.superStickerDetails.superStickerMetadata.stickerId |
string Unikalny identyfikator, który identyfikuje obraz naklejki. Pamiętaj, że obraz jest wyświetlany tylko w ramach wiadomości z naklejką Super Sticker, gdy użytkownicy otwierają okno czatu w YouTube. Adres URL obrazu nie jest jednak dostępny za pomocą interfejsu API. Informacje o tym, które identyfikatory naklejek odpowiadają którym supernaklejkom, znajdziesz w tym pliku CSV (tylko do celów informacyjnych). |
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 dolar, wartość właściwości snippet.amountMicros to 1000000 . |
snippet.superStickerDetails.currency |
string Waluta, w której dokonano zakupu. Wartość to kod waluty w formacie ISO 4217. |
snippet.superStickerDetails.amountDisplayString |
string Ciąg, np. $1.00 , zawierający kwotę i walutę zakupu. Ten ciąg znaków ma być wyświetlany użytkownikowi. |
snippet.superStickerDetails.tier |
unsigned integer Poziom wiadomości płatnej. Pamiętaj, że w zasobie superChatEvent wartość tę zawiera właściwość snippet.messageType .Poziom jest określany na podstawie kwoty wydanej na zakup wiadomości. Określa on też kolor używany do wyróżniania wiadomości w interfejsie czatu na żywo, maksymalną długość wiadomości oraz czas, przez jaki wiadomość jest przypięta do tickera. Poziomy superczatu, które obejmują też supernaklejki, są opisane w Centrum pomocy YouTube. (zobacz rozwijaną sekcję dotyczącą szczegółów zakupu superczatów). Na tej liście poziom z najniższą kwotą zakupu jest poziomem 1, następny z najniższą kwotą jest poziomem 2 itd. |
snippet.pollDetails |
object Ten obiekt zawiera szczegółowe informacje o zdarzeniu ankiety. Jest obecny tylko wtedy, gdy typ wiadomości to pollEvent . |
snippet.pollDetails.metadata |
object Szczegóły zdarzenia dotyczącego ankiety. |
snippet.pollDetails.metadata.options |
object Opcje ankiety na żywo. |
snippet.pollDetails.metadata.options.optionText |
string Tekst opcji ankiety na żywo. |
snippet.pollDetails.metadata.options.tally |
string Podsumowanie ankiety na żywo. Wyliczenie jest dostępne tylko wtedy, gdy właściciel kanału autoryzuje żądanie interfejsu API. |
snippet.pollDetails.metadata.questionText |
string Tekst pytania ankiety na żywo. |
snippet.pollDetails.metadata.status |
enum Stan wydarzenia ankiety na żywo. Prawidłowe wartości tej właściwości to:
|
snippet.membershipGiftingDetails |
object Ten obiekt zawiera szczegółowe informacje o zdarzeniu darowania subskrypcji. Jest widoczny tylko wtedy, gdy message type ma wartość membershipGiftingEvent . |
snippet.membershipGiftingDetails.giftMembershipsCount |
integer Liczba subskrypcji w prezencie zakupionych przez użytkownika. |
snippet.membershipGiftingDetails.giftMembershipsLevelName |
string Nazwa poziomu subskrypcji zakupionej przez użytkownika w ramach prezentu. Nazwy poziomów są definiowane przez kanał YouTube, który oferuje wspieranie. W niektórych sytuacjach to pole może być puste. |
snippet.giftMembershipReceivedDetails |
object Ten obiekt zawiera szczegóły zdarzenia dotyczącego otrzymania subskrypcji prezentu. Jest widoczny tylko wtedy, gdy message type ma wartość giftMembershipReceivedEvent . |
snippet.giftMembershipReceivedDetails.memberLevelName |
string Nazwa poziomu, na którym użytkownik jest członkiem. Musi ona być zgodna z snippet.membershipGiftingDetails.giftMembershipsLevelName w powiązanej wiadomości z ofertą bezpłatnego członkostwa. Nazwy poziomów są definiowane przez kanał YouTube, który oferuje wspieranie. W niektórych sytuacjach to pole może być puste. |
snippet.giftMembershipReceivedDetails.gifterChannelId |
string Identyfikator użytkownika, który dokonał zakupu prezentu w postaci subskrypcji. Musi ona być zgodna z snippet.authorChannelId w powiązanym z nim komunikacie o darowaniu członkostwa. |
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId |
string Identyfikator wiadomości z kartą podarunkową, która jest powiązana z tą kartą podarunkową. 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 URL awatara kanału 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 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. |