Lors de votre première connexion, l'API envoie une série de messages contenant l'historique des discussions récent. Lorsque de nouveaux messages sont publiés, le serveur continue de les envoyer via la connexion ouverte.
Les messages de chaque réponse du serveur sont classés du plus ancien au plus récent. Chaque réponse inclut également un
nextPageToken. Si votre client se déconnecte, vous pouvez utiliser ce jeton pour reprendre le flux. Pour ce faire, indiquez le dernier nextPageToken que vous avez reçu comme valeur du paramètre pageToken dans votre nouvelle requête de connexion. L'API reprendra ensuite l'envoi de messages à partir de l'endroit où vous vous êtes arrêté.
Impact sur le quota : un appel à cette méthode coûte 5 unités de quota.
Démo
Pour obtenir une démonstration Python de cet point de terminaison, consultez le guide sur le streaming de chat en direct.
Requête
Paramètres
Le tableau suivant répertorie les paramètres compatibles avec cette requête. Tous les paramètres listés sont des paramètres de requête.
| Paramètres | ||
|---|---|---|
| Paramètres obligatoires | ||
liveChatId |
stringLe paramètre liveChatId spécifie l'ID du chat dont les messages seront renvoyés. L'ID du chat en direct associé à une diffusion est renvoyé dans la propriété snippet.liveChatId de la ressource liveBroadcast. |
|
part |
stringLe paramètre part spécifie les parties de la ressource liveChatMessage que la réponse de l'API inclura. Les valeurs acceptées sont id, snippet et authorDetails. |
|
| Paramètres facultatifs | ||
hl |
stringLe paramètre hl demande à l'API de récupérer une chaîne d'affichage de devise localisée pour une langue d'application spécifique compatible avec le site Web YouTube. Par exemple, en anglais, la devise s'affiche sous la forme $1.50, mais en français, elle s'affiche sous la forme 1,50$.La valeur du paramètre doit être un code de langue inclus dans la liste renvoyée par la méthode i18nLanguages.list. |
|
maxResults |
unsigned integerLe paramètre La requête initiale effectuée sans jeton de continuation ne contient que les événements les plus récents. Cette valeur peut être inférieure à L'API ne récupère pas les événements antérieurs à ceux renvoyés par la requête initiale effectuée sans jeton de continuation. |
|
pageToken |
stringLe paramètre pageToken identifie une page spécifique de l'ensemble de résultats à renvoyer. Dans une réponse de l'API, la propriété nextPageToken identifie d'autres pages qui pourraient être récupérées. |
|
profileImageSize |
unsigned integerLe paramètre profileImageSize spécifie la taille des photos de profil utilisateur à renvoyer dans l'ensemble de résultats. Les images sont carrées. La valeur par défaut est 88, ce qui signifie que les images seront de 88 x 88 pixels. Les valeurs acceptées sont comprises entre 16 et 720 inclus. |
|
Corps de la requête
Ne fournissez pas de corps de requête lorsque vous appelez cette méthode.
Réponse
Si la requête aboutit, cette méthode renvoie un corps de réponse présentant la structure suivante :
{
"kind": "youtube#liveChatMessageListResponse",
"etag": etag,
"nextPageToken": string,
"pollingIntervalMillis": unsigned integer,
"offlineAt": datetime,
"pageInfo": {
"totalResults": integer,
"resultsPerPage": integer
},
"items": [
liveChatMessage Resource
],
"activePollItem": liveChatMessage Resource
}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#liveChatMessageListResponse. |
etag |
etagL'Etag de cette ressource. |
nextPageToken |
stringLe jeton qui peut être utilisé comme valeur du paramètre pageToken pour récupérer la page suivante dans l'ensemble de résultats. |
offlineAt |
datetimeDate et heure auxquelles la diffusion en direct sous-jacente a été mise hors ligne. Cette propriété n'est présente que si le flux est déjà hors ligne. La valeur est spécifiée au format ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ). |
pageInfo |
objectL'objet pageInfo encapsule les informations de pagination pour l'ensemble de résultats. |
pageInfo.totalResults |
integerNombre total de résultats dans l'ensemble de résultats. |
pageInfo.resultsPerPage |
integerNombre de résultats inclus dans la réponse de l'API. |
items[] |
listListe de messages. Chaque élément de la liste est une ressource liveChatMessage. |
activePollItem |
objectDonnées de sondage dans le message. Chaque sondage est une ressource liveChatMessage de type pollEvent, qui représente un sondage actif. Il ne peut y avoir qu'un seul sondage par chat. |
Erreurs
Le tableau suivant identifie les messages d'erreur que l'API peut renvoyer en réponse à un appel à cette méthode. Pour en savoir plus, consultez la documentation sur les messages d'erreur.
Lorsque vous utilisez gRPC pour vous connecter :
| Code d'erreur gRPC | Détails de l'erreur | Description |
|---|---|---|
PERMISSION_DENIED (7) |
The caller does not have permission |
Vous ne disposez pas des autorisations requises pour récupérer les messages du chat en direct spécifié. |
INVALID_ARGUMENT (3) |
Request contains an invalid argument |
Échec de l'analyse des paramètres fournis. Assurez-vous que le liveChatId et les autres paramètres sont au format correct. |
FAILED_PRECONDITION (9)* |
Precondition check failed |
LIVE_CHAT_DISABLED. Le chat en direct spécifié est désactivé. |
FAILED_PRECONDITION (9)* |
Precondition check failed |
LIVE_CHAT_ENDED. Vous ne pouvez pas récupérer les messages du chat en direct terminé. |
NOT_FOUND (5) |
Requested entity was not found |
Le chat en direct que vous essayez de récupérer est introuvable. Vérifiez la valeur du paramètre liveChatId de la requête pour vous assurer qu'elle est correcte. |
RESOURCE_EXHAUSTED (8) |
Resource has been exhausted (e.g. check quota) |
La requête a été envoyée trop rapidement après la requête précédente. Cette erreur se produit lorsque les requêtes API visant à récupérer des messages sont envoyées plus fréquemment que les fréquences d'actualisation de YouTube, ce qui gaspille inutilement de la bande passante. |
* En raison d'une limitation de gRPC, il n'est pas possible de distinguer, en fonction du code d'erreur, un cas LIVE_CHAT_DISABLED d'un cas LIVE_CHAT_ENDED. YouTube travaille activement sur une solution pour résoudre ce problème.
Lorsque vous utilisez le trafic Web pour vous connecter :
| Type d'erreur | Détails de l'erreur | Description |
|---|---|---|
HttpStatus.FORBIDDEN (403) |
forbidden |
Vous ne disposez pas des autorisations requises pour récupérer les messages du chat en direct spécifié. |
HttpStatus.BAD_REQUEST (400) |
Reason for invalid request, e.g. pageTokenInvalid |
Échec de l'analyse des paramètres fournis. Assurez-vous que le liveChatId et les autres paramètres sont au format correct. |
HttpStatus.FORBIDDEN (403) |
liveChatDisabled |
LIVE_CHAT_DISABLED. Le chat en direct spécifié est désactivé. |
HttpStatus.FORBIDDEN (403) |
liveChatEnded |
LIVE_CHAT_ENDED. Vous ne pouvez pas récupérer les messages du chat en direct terminé. |
HttpStatus.NOT_FOUND (404) |
liveChatNotFound |
Le chat en direct que vous essayez de récupérer est introuvable. Vérifiez la valeur du paramètre liveChatId de la requête pour vous assurer qu'elle est correcte. |
HttpStatus.FORBIDDEN (403) |
rateLimitExceeded |
La requête a été envoyée trop rapidement après la requête précédente. Cette erreur se produit lorsque les requêtes API visant à récupérer des messages sont envoyées plus fréquemment que les fréquences d'actualisation de YouTube, ce qui gaspille inutilement de la bande passante. |