Une ressource liveChatMessage représente un message de chat dans un chat en direct YouTube. La ressource peut contenir des informations sur plusieurs types de messages, y compris un message texte récemment publié ou un événement de financement par les fans.
La fonctionnalité de chat en direct est activée par défaut pour les diffusions en direct et est disponible pendant l'événement en direct. (Une fois l'événement terminé, le chat en direct n'est plus disponible.)
Méthodes
L'API accepte les méthodes suivantes pour les ressources liveChatMessages :
- liste
- Liste les messages du chat en direct pour un chat spécifique. Essayer
- streamList
- Permet une connexion de streaming serveur pour recevoir les messages du chat en direct d'un chat spécifique avec une faible latence. Essayer
- insérer
- Ajoute un message ou un sondage à un chat en direct. Essayer
- transition
- Fait passer un message en direct à un autre état. Essayer
- supprimer
- Supprime un message de chat. La requête API doit être autorisée par le propriétaire de la chaîne ou un modérateur du chat en direct. Essayer
Représentation de la ressource
La structure JSON suivante montre le format d'une ressource 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
},
"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
},
"giftEventDetails": {
"giftMetadata": {
"jewelsAmount": integer,
"giftName": string,
"giftUrl": string,
"giftDuration": object,
"seconds": integer,
"nanos": integer,
"hasVisualEffect": boolean,
"comboCount": integer,
"altText": string,
"language": string
},
},
},
"authorDetails": {
"channelId": string,
"channelUrl": string,
"displayName": string,
"profileImageUrl": string,
"isVerified": boolean,
"isChatOwner": boolean,
"isChatSponsor": boolean,
"isChatModerator": boolean
},
}Propriétés
Le tableau suivant définit les propriétés qui apparaissent dans cette ressource :
| Propriétés | |
|---|---|
kind |
stringIdentifie le type de ressource de l'API. La valeur sera youtube#liveChatMessage. |
etag |
etagEtag de cette ressource. |
id |
stringID attribué par YouTube pour identifier de manière unique le message. Remarque : Pour les giftEvents, le même ID peut être réutilisé pour mettre à jour le nombre de combos. |
snippet |
objectL'objet snippet contient des informations de base sur le message de chat. |
snippet.type |
stringType du message. Cette propriété est toujours présente et sa valeur détermine les champs présents dans la ressource. Les valeurs valides pour cette propriété sont les suivantes :
|
snippet.liveChatId |
stringID qui identifie de manière unique le chat en direct auquel le message est associé. L'ID du chat en direct associé à une diffusion est renvoyé dans la propriété snippet.liveChatId de la ressource liveBroadcast. |
snippet.authorChannelId |
stringID de l'utilisateur qui a créé le message. Ce champ n'est rempli que pour les types de messages suivants :
|
snippet.publishedAt |
datetimeDate et heure de publication initiale du message. La valeur est spécifiée au format ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ). |
snippet.hasDisplayContent |
booleanIndique si le message contient du contenu à afficher aux utilisateurs. |
snippet.displayMessage |
stringContient une chaîne affichée aux utilisateurs. Ce champ n'est pas présent si le type de message est chatEndedEvent ou tombstone. |
snippet.fanFundingEventDetails |
objectRemarque : Cet objet et ses propriétés enfants sont obsolètes. Depuis le 28 février 2017, les ressources liveChatMessage ne renvoient plus d'informations sur les événements de financement participatif.Cet objet contient des informations sur l'événement de financement. Il n'est présent que si le type de message est fanFundingEvent. |
snippet.fanFundingEventDetails.amountMicros |
unsigned longRemarque : Cette propriété est obsolète. Montant du fonds. |
snippet.fanFundingEventDetails.currency |
stringRemarque : Cette propriété a été abandonnée. Devise dans laquelle le financement a été effectué. |
snippet.fanFundingEventDetails.amountDisplayString |
stringRemarque : Cette propriété a été abandonnée. Chaîne affichée qui indique le montant et la devise du fonds à l'utilisateur. |
snippet.fanFundingEventDetails.userComment |
stringRemarque : Cette propriété a été abandonnée. Commentaire ajouté par l'utilisateur à cet événement de financement par les fans. |
snippet.textMessageDetails |
objectCet objet contient des informations sur le message. Il n'est présent que si le type de message est textMessageEvent. |
snippet.textMessageDetails.messageText |
stringMessage de l'utilisateur. |
snippet.userBannedDetails |
objectCet objet contient des informations sur un utilisateur qui a été exclu du chat. Il contient également des informations sur la suspension elle-même. Les utilisateurs peuvent être bannis d'un chat de manière permanente ou temporaire. |
snippet.userBannedDetails.bannedUserDetails |
objectCet objet contient des informations sur l'utilisateur banni. |
snippet.userBannedDetails.bannedUserDetails.channelId |
stringID de la chaîne YouTube de l'utilisateur exclu. |
snippet.userBannedDetails.bannedUserDetails.channelUrl |
stringURL de la chaîne YouTube de l'utilisateur exclu. |
snippet.userBannedDetails.bannedUserDetails.displayName |
stringNom à afficher de la chaîne YouTube de l'utilisateur banni. |
snippet.userBannedDetails.bannedUserDetails.profileImageUrl |
stringAvatar de la chaîne YouTube de l'utilisateur banni. |
snippet.userBannedDetails.banType |
stringType de suspension. Les valeurs valides pour cette propriété sont les suivantes :
|
snippet.userBannedDetails.banDurationSeconds |
unsigned longDurée de l'exclusion. Cette propriété n'est présente que si la valeur de la propriété snippet.userBannedDetails.banType est temporary. |
snippet.memberMilestoneChatDetails |
objectCet objet contient des informations sur un événement de jalon de membre. Il n'est présent que si le type de message est memberMilestoneChatEvent. |
snippet.memberMilestoneChatDetails.userComment |
stringCommentaire ajouté par le membre à ce chat de fidélité. Ce champ est vide pour les messages sans commentaire du membre. |
snippet.memberMilestoneChatDetails.memberMonth |
unsigned integerNombre total de mois (arrondi au supérieur) pendant lesquels le spectateur a été membre et qui lui ont permis de recevoir ce chat de fidélité pour les membres. Il s'agit du même nombre de mois que celui affiché aux utilisateurs YouTube. |
snippet.memberMilestoneChatDetails.memberLevelName |
stringNom du niveau auquel appartient le spectateur. Les noms des niveaux sont définis par la chaîne YouTube qui propose la souscription. Dans certains cas, ce champ n'est pas rempli. |
snippet.newSponsorDetails |
objectCet objet contient des informations sur l'événement "Annonce d'un nouveau membre". Ce champ n'est défini que si le type est newSponsorEvent. Le terme "membre" désigne un "sponsor".
|
snippet.newSponsorDetails.memberLevelName |
stringNom du niveau auquel appartient le spectateur. Les noms des niveaux sont définis par la chaîne YouTube qui propose la souscription. Dans certains cas, ce champ n'est pas rempli. |
snippet.newSponsorDetails.isUpgrade |
boolIndique si le spectateur vient de passer à un niveau supérieur. Pour les spectateurs qui n'étaient pas membres au moment de l'achat, la valeur du champ est false.
|
snippet.superChatDetails |
objectCet objet contient des informations sur un événement Super Chat. Il n'est présent que si le type de message est superChatEvent. |
snippet.superChatDetails.amountMicros |
unsigned longMontant de l'achat, en micro-unités de la devise de l'achat. Par exemple, si le montant de l'achat est d'un dollar, la valeur de la propriété snippet.amountMicros est 1000000. |
snippet.superChatDetails.currency |
stringDevise dans laquelle l'achat a été effectué. La valeur est un code de devise ISO 4217. |
snippet.superChatDetails.amountDisplayString |
stringChaîne, comme $1.00, contenant le montant et la devise de l'achat. Cette chaîne est destinée à être affichée pour l'utilisateur. |
snippet.superChatDetails.userComment |
stringCommentaire ajouté par l'utilisateur à cet événement Super Chat. |
snippet.superChatDetails.tier |
unsigned integerNiveau du message payant. Notez que dans une ressource superChatEvent, la propriété snippet.messageType contient cette valeur.Le niveau est basé sur le montant dépensé pour acheter le message. Il détermine également la couleur utilisée pour mettre en avant le message dans l'interface utilisateur du chat en direct, la longueur maximale du message et la durée pendant laquelle le message est épinglé au ticker. Les niveaux de Super Chat sont décrits dans le Centre d'aide YouTube. (Consultez la section développable sur les détails d'achat des Super Chats.) Dans cette liste, le niveau avec le montant d'achat le plus bas est le niveau 1, le niveau suivant est le niveau 2, et ainsi de suite. |
snippet.superStickerDetails |
objectCet objet contient des informations sur un événement Super Sticker. Il n'est présent que si le type de message est superStickerEvent. |
snippet.superStickerDetails.superStickerMetadata |
objectDétails sur le Super Sticker. |
snippet.superStickerDetails.superStickerMetadata.stickerId |
stringID unique qui identifie l'image de l'autocollant. Notez que l'image ne s'affiche que dans le message Super Autocollant lorsque les utilisateurs consultent la fenêtre de chat sur YouTube. Toutefois, l'URL de l'image n'est pas disponible à l'aide de l'API. Pour information uniquement, vous trouverez les ID des autocollants associés aux Super Stickers dans ce fichier CSV. |
snippet.superStickerDetails.superStickerMetadata.altText |
stringChaîne de texte décrivant l'autocollant. Le champ snippet.superStickerDetails.superStickerMetadata.language identifie la langue du texte. Lorsque vous appelez la méthode liveChatMessages.list, définissez la valeur du paramètre hl sur la langue choisie pour le texte. |
snippet.superStickerDetails.superStickerMetadata.language |
stringLangue de la valeur de la propriété snippet.superStickerDetails.superStickerMetadata.altText. |
snippet.superStickerDetails.amountMicros |
unsigned longMontant de l'achat, en micro-unités de la devise de l'achat. Par exemple, si le montant de l'achat est d'un dollar, la valeur de la propriété snippet.amountMicros est 1000000. |
snippet.superStickerDetails.currency |
stringDevise dans laquelle l'achat a été effectué. La valeur est un code de devise ISO 4217. |
snippet.superStickerDetails.amountDisplayString |
stringChaîne, comme $1.00, contenant le montant et la devise de l'achat. Cette chaîne est destinée à être affichée pour l'utilisateur. |
snippet.superStickerDetails.tier |
unsigned integerNiveau du message payant. Notez que dans une ressource superChatEvent, la propriété snippet.messageType contient cette valeur.Le niveau est basé sur le montant dépensé pour acheter le message. Il détermine également la couleur utilisée pour mettre en avant le message dans l'interface utilisateur du chat en direct, la longueur maximale du message et la durée pendant laquelle le message est épinglé dans le ticker. Les niveaux de Super Chat, qui couvrent également les Super Stickers, sont décrits dans le Centre d'aide YouTube. (Consultez la section développable sur les détails d'achat des Super Chats.) Dans cette liste, le niveau avec le montant d'achat le plus bas est le niveau 1, le niveau suivant est le niveau 2, et ainsi de suite. |
snippet.pollDetails |
objectCet objet contient des informations sur un événement de sondage. Il n'est présent que si le type de message est pollEvent. |
snippet.pollDetails.metadata |
objectDétails sur l'événement de sondage. |
snippet.pollDetails.metadata.options |
objectOptions du sondage en direct. |
snippet.pollDetails.metadata.options.optionText |
stringTexte de l'option du sondage en direct. |
snippet.pollDetails.metadata.options.tally |
stringNombre de votes pour l'option du sondage en direct. Le décompte n'est présent que si la requête API est autorisée par le propriétaire de la chaîne. |
snippet.pollDetails.metadata.questionText |
stringTexte de la question du sondage en direct. |
snippet.pollDetails.metadata.status |
enumÉtat de l'événement de sondage en direct. Les valeurs valides pour cette propriété sont les suivantes :
|
snippet.membershipGiftingDetails |
objectCet objet contient des informations sur un événement Offrir une souscription. Il n'est présent que si message type est défini sur membershipGiftingEvent. |
snippet.membershipGiftingDetails.giftMembershipsCount |
integerNombre d'abonnements offerts par l'utilisateur. |
snippet.membershipGiftingDetails.giftMembershipsLevelName |
stringNom du niveau des souscriptions en cadeau achetées par l'utilisateur. Les noms de niveau sont définis par la chaîne YouTube qui propose la souscription. Dans certains cas, ce champ n'est pas rempli. |
snippet.giftMembershipReceivedDetails |
objectCet objet contient des informations sur un événement "Cadeau reçu". Il n'est présent que si message type est défini sur giftMembershipReceivedEvent. |
snippet.giftMembershipReceivedDetails.memberLevelName |
stringNom du niveau auquel appartient le spectateur. Cela correspond à la snippet.membershipGiftingDetails.giftMembershipsLevelName du message associé à l'offre d'abonnement. Les noms de niveau sont définis par la chaîne YouTube qui propose la souscription. Dans certains cas, ce champ n'est pas rempli. |
snippet.giftMembershipReceivedDetails.gifterChannelId |
stringID de l'utilisateur qui a effectué l'achat de l'abonnement à offrir. Cela correspond à la snippet.authorChannelId du message associé à l'offre d'abonnement. |
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId |
stringID du message de cadeau d'abonnement associé à cet abonnement sans frais. Cet ID fait toujours référence à un message dont le type est membershipGiftingEvent. |
snippet.giftEventDetails |
objectCet objet contient des informations sur un événement de cadeau. Il n'est présent que si message type est défini sur giftEvent. |
snippet.giftEventDetails.giftMetadata |
objectDétails de l'événement de cadeau. |
snippet.giftEventDetails.giftMetadata.jewelsAmount |
integerNombre de Joyaux utilisés pour le cadeau. |
snippet.giftEventDetails.giftMetadata.giftName |
stringNom du cadeau. |
snippet.giftEventDetails.giftMetadata.giftUrl |
stringURL de l'élément cadeau. |
snippet.giftEventDetails.giftMetadata.giftDuration |
objectDurée d'affichage de l'URL du cadeau. |
snippet.giftEventDetails.giftMetadata.giftDuration.seconds |
integerNombre de secondes pendant lesquelles l'URL du cadeau doit être affichée. |
snippet.giftEventDetails.giftMetadata.giftDuration.nanos |
integerNombre de nanosecondes pendant lesquelles l'URL du cadeau doit être affichée. |
snippet.giftEventDetails.giftMetadata.hasVisualEffect |
booleanIndique si le cadeau a un effet visuel. |
snippet.giftEventDetails.giftMetadata.comboCount |
integerNombre de cadeaux dans le combo. Si le cadeau ne fait pas partie d'un combo, la valeur est 0. |
snippet.giftEventDetails.giftMetadata.altText |
stringChaîne de texte décrivant le cadeau. |
snippet.giftEventDetails.giftMetadata.language |
stringLangue de la valeur de la propriété altText. |
authorDetails |
objectL'objet authorDetails contient des informations supplémentaires sur l'utilisateur qui a posté ce message. |
authorDetails.channelId |
stringID de la chaîne YouTube de l'auteur. |
authorDetails.channelUrl |
stringURL de la chaîne YouTube de l'auteur. |
authorDetails.displayName |
stringNom à afficher de la chaîne YouTube de l'auteur. |
authorDetails.profileImageUrl |
stringURL de l'avatar de la chaîne YouTube de l'auteur. |
authorDetails.isVerified |
booleanCette valeur indique si l'identité de l'auteur a été validée par YouTube. |
authorDetails.isChatOwner |
booleanCette valeur indique si l'auteur est le propriétaire du chat en direct. |
authorDetails.isChatSponsor |
booleanCette valeur indique si l'auteur est un sponsor du chat en direct. |
authorDetails.isChatModerator |
booleanCette valeur indique si l'auteur est un modérateur du chat en direct. |