Una risorsa liveChatMessage
rappresenta un messaggio della chat in una chat live di YouTube. La risorsa può contenere dettagli su diversi tipi di messaggi, tra cui un messaggio appena pubblicato o un evento di finanziamento dei fan.
La funzionalità di chat live è attiva per impostazione predefinita per le trasmissioni in diretta ed è disponibile mentre l'evento dal vivo è attivo. Al termine dell'evento, la chat live non è più disponibile per quell'evento.
Metodi
L'API supporta i seguenti metodi per le risorse liveChatMessages
:
- list
- Elenca i messaggi della chat live per una chat specifica. Prova subito.
- insert
- Aggiunge un messaggio o un sondaggio a una chat live. Prova subito.
- transition
- Esegue la transizione dello stato di un messaggio pubblicato. Prova subito.
- elimina
- Elimina un messaggio di chat. La richiesta API deve essere autorizzata dal proprietario del canale o da un moderatore della chat live. Prova subito.
Rappresentazione delle risorse
La seguente struttura JSON mostra il formato di una risorsa 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 }, }
Proprietà
La tabella seguente definisce le proprietà visualizzate in questa risorsa:
Proprietà | |
---|---|
kind |
string Identifica il tipo di risorsa API. Il valore sarà youtube#liveChatMessage . |
etag |
etag L'ETag di questa risorsa. |
id |
string L'ID assegnato da YouTube per identificare in modo univoco il messaggio. |
snippet |
object L'oggetto snippet contiene i dettagli principali del messaggio della chat. |
snippet.type |
string Il tipo di messaggio. Questa proprietà è sempre presente e il relativo valore determina quali campi sono presenti nella risorsa. I valori validi per questa proprietà sono:
|
snippet.liveChatId |
string L'ID che identifica in modo univoco la chat live a cui è associato il messaggio. L'ID chat live associato a una trasmissione viene restituito nella proprietà snippet.liveChatId della risorsa liveBroadcast . |
snippet.authorChannelId |
string L'ID dell'utente che ha creato il messaggio. Questo campo viene compilato solo per i seguenti tipi di messaggi:
|
snippet.publishedAt |
datetime La data e l'ora della pubblicazione originale del messaggio. Il valore è specificato nel formato ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). |
snippet.hasDisplayContent |
boolean Indica se il messaggio contiene contenuti di visualizzazione da mostrare agli utenti. |
snippet.displayMessage |
string Contiene una stringa visualizzata agli utenti. Questo campo non è presente se il tipo di messaggio è chatEndedEvent o tombstone . |
snippet.fanFundingEventDetails |
object Nota: questo oggetto e le relative proprietà secondarie sono stati ritirati. A partire dal 28 febbraio 2017, le risorse liveChatMessage non restituiranno più i dettagli degli eventi di finanziamento dei fan.Questo oggetto contiene i dettagli dell'evento di finanziamento. È presente solo se il tipo di messaggio è fanFundingEvent . |
snippet.fanFundingEventDetails.amountMicros |
unsigned long Nota: questa proprietà è stata ritirata. L'importo del fondo. |
snippet.fanFundingEventDetails.currency |
string Nota: questa proprietà è stata ritirata. La valuta in cui è stato effettuato il versamento. |
snippet.fanFundingEventDetails.amountDisplayString |
string Nota: questa proprietà è stata ritirata. Una stringa visualizzata che mostra all'utente l'importo e la valuta del fondo. |
snippet.fanFundingEventDetails.userComment |
string Nota: questa proprietà è stata ritirata. Il commento aggiunto dall'utente a questo evento di finanziamento dei fan. |
snippet.textMessageDetails |
object Questo oggetto contiene i dettagli del messaggio. È presente solo se il tipo di messaggio è textMessageEvent . |
snippet.textMessageDetails.messageText |
string Il messaggio dell'utente. |
snippet.messageDeletedDetails |
object Questo oggetto contiene i dettagli di un messaggio eliminato da un moderatore della chat o dal proprietario del canale della trasmissione in diretta. È presente solo se il tipo di messaggio è messageDeletedEvent . |
snippet.messageDeletedDetails.deletedMessageId |
string L'ID che identifica in modo univoco il messaggio eliminato. Il valore è uguale al valore della proprietà id del messaggio originale. Ad esempio, se un textMessageEvent ha un valore della proprietà id pari a 123 e il messaggio viene successivamente eliminato, il valore snippet.messageDeletedDetails.deletedMessageId sarà 123 per quel messaggio.Se memorizzi nella cache i messaggi della chat dopo averli recuperati, utilizza il valore di questa proprietà per identificare il messaggio che non deve più essere visualizzato. |
snippet.userBannedDetails |
object Questo oggetto contiene i dettagli di un utente che è stato espulso dalla chat. Contiene inoltre i dettagli sul divieto stesso. Gli utenti possono essere espulsi da una chat in modo permanente o temporaneo. |
snippet.userBannedDetails.bannedUserDetails |
object Questo oggetto contiene informazioni sull'utente bannato. |
snippet.userBannedDetails.bannedUserDetails.channelId |
string L'ID canale YouTube dell'utente bannato. |
snippet.userBannedDetails.bannedUserDetails.channelUrl |
string L'URL del canale YouTube dell'utente escluso. |
snippet.userBannedDetails.bannedUserDetails.displayName |
string Il nome visualizzato del canale YouTube dell'utente bannato. |
snippet.userBannedDetails.bannedUserDetails.profileImageUrl |
string L'avatar del canale YouTube dell'utente bannato. |
snippet.userBannedDetails.banType |
string Il tipo di ban. I valori validi per questa proprietà sono:
|
snippet.userBannedDetails.banDurationSeconds |
unsigned long La durata dell'esclusione. Questa proprietà è presente solo se il valore della proprietà snippet.userBannedDetails.banType è temporary . |
snippet.memberMilestoneChatDetails |
object Questo oggetto contiene i dettagli di un evento Obiettivo per i membri. È presente solo se il tipo di messaggio è memberMilestoneChatEvent . |
snippet.memberMilestoneChatDetails.userComment |
string Il commento aggiunto dall'abbonato a questo messaggio di chat per traguardo abbonamento. Questo campo è vuoto per i messaggi senza un commento del membro. |
snippet.memberMilestoneChatDetails.memberMonth |
unsigned integer Il numero totale di mesi (arrotondato per eccesso) durante i quali lo spettatore ha usufruito dell'abbonamento che gli ha garantito questo messaggio di fedeltà al canale. Si tratta dello stesso numero di mesi mostrato agli utenti di YouTube. |
snippet.memberMilestoneChatDetails.memberLevelName |
string Il nome del livello di cui lo spettatore è membro. I nomi dei livelli sono definiti dal canale YouTube che offre l'abbonamento. In alcuni casi questo campo non viene compilato. |
snippet.newSponsorDetails |
object Questo oggetto contiene i dettagli sull'evento Annuncio nuovo membro. Viene impostato solo se il tipo è newSponsorEvent . "Membro" è il termine per "sponsor".
|
snippet.newSponsorDetails.memberLevelName |
string Il nome del livello di cui lo spettatore è membro. I nomi dei livelli sono definiti dal canale YouTube che offre l'abbonamento. In alcuni casi, questo campo non viene compilato. |
snippet.newSponsorDetails.isUpgrade |
bool Indica se lo spettatore ha appena eseguito l'upgrade da un livello inferiore. Per gli spettatori che non erano abbonati al momento dell'acquisto, il valore del campo è false .
|
snippet.superChatDetails |
object Questo oggetto contiene i dettagli di un evento Superchat. È presente solo se il tipo di messaggio è superChatEvent . |
snippet.superChatDetails.amountMicros |
unsigned long L'importo dell'acquisto, in micro della valuta di acquisto. Ad esempio, se l'importo dell'acquisto è pari a un dollaro, il valore della proprietà snippet.amountMicros è 1000000 . |
snippet.superChatDetails.currency |
string La valuta in cui è stato effettuato l'acquisto. Il valore è un codice valuta ISO 4217. |
snippet.superChatDetails.amountDisplayString |
string Una stringa, ad esempio $1.00 , contenente l'importo e la valuta dell'acquisto. La stringa deve essere visualizzata all'utente. |
snippet.superChatDetails.userComment |
string Il commento aggiunto dall'utente a questo evento Superchat. |
snippet.superChatDetails.tier |
unsigned integer Il livello del messaggio a pagamento. Tieni presente che in una risorsa superChatEvent , la proprietà snippet.messageType contiene questo valore.Il livello si basa sull'importo speso per l'acquisto del messaggio. Inoltre, determina il colore utilizzato per evidenziare il messaggio nell'interfaccia utente della chat dal vivo, la lunghezza massima del messaggio e il periodo di tempo in cui il messaggio rimane bloccato nel riquadro di aggiornamento. I livelli di Superchat sono descritti nel Centro assistenza YouTube. (vedi la sezione espandibile sui dettagli dell'acquisto di messaggi Superchat). In questo elenco, il livello con l'importo di acquisto più basso è il livello 1, il successivo è il livello 2 e così via. |
snippet.superStickerDetails |
object Questo oggetto contiene i dettagli di un evento Super Sticker. È presente solo se il tipo di messaggio è superStickerEvent . |
snippet.superStickerDetails.superStickerMetadata |
object Dettagli sul Super Sticker. |
snippet.superStickerDetails.superStickerMetadata.stickerId |
string Un ID univoco che identifica l'immagine dell'adesivo. Tieni presente che l'immagine viene visualizzata all'interno del messaggio del Super Sticker solo quando gli utenti visualizzano la finestra della chat su YouTube. Tuttavia, l'URL immagine non è disponibile tramite l'API. Solo come riferimento, puoi trovare gli ID degli adesivi associati ai Super Sticker in questo file CSV. |
snippet.superStickerDetails.superStickerMetadata.altText |
string Una stringa di testo che descrive l'adesivo. Il campo snippet.superStickerDetails.superStickerMetadata.language identifica la lingua del testo. Quando chiami il metodo liveChatMessages.list , imposta il valore del parametro hl sulla lingua scelta per il testo. |
snippet.superStickerDetails.superStickerMetadata.language |
string La lingua del valore della proprietà snippet.superStickerDetails.superStickerMetadata.altText . |
snippet.superStickerDetails.amountMicros |
unsigned long L'importo dell'acquisto, in micro della valuta di acquisto. Ad esempio, se l'importo dell'acquisto è pari a un dollaro, il valore della proprietà snippet.amountMicros è 1000000 . |
snippet.superStickerDetails.currency |
string La valuta in cui è stato effettuato l'acquisto. Il valore è un codice valuta ISO 4217. |
snippet.superStickerDetails.amountDisplayString |
string Una stringa, ad esempio $1.00 , contenente l'importo e la valuta dell'acquisto. La stringa deve essere visualizzata all'utente. |
snippet.superStickerDetails.tier |
unsigned integer Il livello del messaggio a pagamento. Tieni presente che in una risorsa superChatEvent , la proprietà snippet.messageType contiene questo valore.Il livello si basa sull'importo speso per l'acquisto del messaggio. Inoltre, determina il colore utilizzato per evidenziare il messaggio nell'interfaccia utente della chat live, la lunghezza massima del messaggio e il periodo di tempo in cui il messaggio viene bloccato nel riquadro di aggiornamento. I livelli di Superchat, che riguardano anche i Super Sticker, sono descritti nel Centro assistenza YouTube. (vedi la sezione espandibile sui dettagli dell'acquisto di messaggi Superchat). In questo elenco, il livello con l'importo di acquisto più basso è il livello 1, il successivo è il livello 2 e così via. |
snippet.pollDetails |
object Questo oggetto contiene i dettagli di un evento di sondaggio. È presente solo se il tipo di messaggio è pollEvent . |
snippet.pollDetails.metadata |
object Dettagli sull'evento del sondaggio. |
snippet.pollDetails.metadata.options |
object Le opzioni del sondaggio dal vivo. |
snippet.pollDetails.metadata.options.optionText |
string Il testo dell'opzione del sondaggio dal vivo. |
snippet.pollDetails.metadata.options.tally |
string Il conteggio dell'opzione del sondaggio dal vivo. Il conteggio è presente solo se la richiesta API è autorizzata dal proprietario del canale. |
snippet.pollDetails.metadata.questionText |
string Il testo della domanda del sondaggio dal vivo. |
snippet.pollDetails.metadata.status |
enum Lo stato dell'evento del sondaggio dal vivo. I valori validi per questa proprietà sono:
|
snippet.membershipGiftingDetails |
object Questo oggetto contiene i dettagli di un evento di donazione dell'abbonamento. È presente solo se message type è membershipGiftingEvent . |
snippet.membershipGiftingDetails.giftMembershipsCount |
integer Il numero di abbonamenti regalo acquistati dall'utente. |
snippet.membershipGiftingDetails.giftMembershipsLevelName |
string Il nome del livello degli abbonamenti regalo acquistati dall'utente. I nomi dei livelli sono definiti dal canale YouTube che offre l'abbonamento. In alcuni casi, questo campo non viene compilato. |
snippet.giftMembershipReceivedDetails |
object Questo oggetto contiene i dettagli di un evento Abbonamento regalo ricevuto. È presente solo se message type è giftMembershipReceivedEvent . |
snippet.giftMembershipReceivedDetails.memberLevelName |
string Il nome del livello di cui lo spettatore è membro. Corrisponde a snippet.membershipGiftingDetails.giftMembershipsLevelName del messaggio relativo al regalo dell'abbonamento associato. I nomi dei livelli sono definiti dal canale YouTube che offre l'abbonamento. In alcuni casi, questo campo non viene compilato. |
snippet.giftMembershipReceivedDetails.gifterChannelId |
string L'ID dell'utente che ha effettuato l'acquisto dell'abbonamento senza costi. Corrisponde al snippet.authorChannelId del messaggio relativo al regalo dell'abbonamento associato. |
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId |
string L'ID del messaggio relativo all'abbonamento regalo associato a questo abbonamento regalo. Questo ID farà sempre riferimento a un messaggio il cui type è membershipGiftingEvent . |
authorDetails |
object L'oggetto authorDetails contiene ulteriori dettagli sull'utente che ha pubblicato questo messaggio. |
authorDetails.channelId |
string L'ID canale YouTube dell'autore. |
authorDetails.channelUrl |
string L'URL del canale YouTube dell'autore. |
authorDetails.displayName |
string Il nome visualizzato del canale YouTube dell'autore. |
authorDetails.profileImageUrl |
string L'URL dell'avatar del canale YouTube dell'autore. |
authorDetails.isVerified |
boolean Questo valore indica se l'identità dell'autore è stata verificata da YouTube. |
authorDetails.isChatOwner |
boolean Questo valore indica se l'autore è il proprietario della chat live. |
authorDetails.isChatSponsor |
boolean Questo valore indica se l'autore è uno sponsor della chat live. |
authorDetails.isChatModerator |
boolean Questo valore indica se l'autore è un moderatore della chat live. |