Cuando te conectas por primera vez, la API envía una serie de mensajes que contienen el historial de chat reciente. A medida que se publiquen mensajes nuevos, el servidor seguirá enviándolos a través de la conexión abierta.
Los mensajes de cada respuesta del servidor se ordenan del más antiguo al más reciente. Cada respuesta también incluye un
nextPageToken
. Si el cliente se desconecta, puedes usar este token para reanudar la transmisión. Para ello, proporciona el último nextPageToken
que recibiste como el valor del parámetro pageToken
en tu nueva solicitud de conexión. Luego, la API reanudará el envío de mensajes desde el punto en que lo dejaste.
Demostración
Para ver una demostración en Python de este endpoint, consulta la guía de chat en vivo de transmisión.
Solicitud
Parámetros
En la siguiente tabla, se enumeran los parámetros que admite esta búsqueda. Todos los parámetros mencionados son parámetros de consulta.
Parámetros | ||
---|---|---|
Parámetros obligatorios | ||
liveChatId |
string El parámetro liveChatId especifica el ID del chat cuyos mensajes se devolverán. El ID del chat en vivo asociado a una transmisión se devuelve en la propiedad snippet.liveChatId del recurso liveBroadcast . |
|
part |
string El parámetro part especifica las partes del recurso liveChatMessage que incluirá la respuesta de la API. Los valores admitidos son id , snippet y authorDetails . |
|
Parámetros opcionales | ||
hl |
string El parámetro hl indica a la API que recupere una cadena de visualización de moneda localizada para un idioma de la aplicación específico que admite el sitio web de YouTube. Por ejemplo, en inglés, la moneda se mostraría como $1.50 , pero en francés, se mostraría como 1,50$ .El valor del parámetro debe ser un código de idioma incluido en la lista que devuelve el método i18nLanguages.list . |
|
maxResults |
unsigned integer El parámetro maxResults especifica la cantidad máxima de mensajes que se deben devolver en el conjunto de resultados. Los valores aceptables son del 200 al 2000 , inclusive. El valor predeterminado es 500 . |
|
pageToken |
string El parámetro pageToken identifica una página específica en el conjunto de resultados que se debe devolver. En una respuesta de la API, la propiedad nextPageToken identifica otras páginas que se podrían recuperar. |
|
profileImageSize |
unsigned integer El parámetro profileImageSize especifica el tamaño de las fotos de perfil de los usuarios que se deben mostrar en el conjunto de resultados. Las imágenes son cuadradas. El valor predeterminado es 88 , lo que significa que las imágenes tendrán un tamaño de 88 px por 88 px. Los valores aceptables se encuentran en el rango de 16 a 720 , inclusive. |
Cuerpo de la solicitud
No proporciones un cuerpo de solicitud cuando llames a este método.
Respuesta
Si se aplica correctamente, este método muestra un cuerpo de respuesta con la siguiente estructura:
{ "kind": "youtube#liveChatMessageListResponse", "etag": etag, "nextPageToken": string, "pollingIntervalMillis": unsigned integer, "offlineAt": datetime, "pageInfo": { "totalResults": integer, "resultsPerPage": integer }, "items": [ liveChatMessage Resource ], "activePollItem": liveChatMessage Resource }
Propiedades
La siguiente tabla define las propiedades que aparecen en este recurso:
Propiedades | |
---|---|
kind |
string Identifica el tipo de recurso de la API. El valor será youtube#liveChatMessageListResponse . |
etag |
etag Es el ETag de este recurso. |
nextPageToken |
string Es el token que se puede usar como valor del parámetro pageToken para recuperar la siguiente página del conjunto de resultados. |
offlineAt |
datetime Fecha y hora en que la transmisión en vivo subyacente dejó de estar disponible. Esta propiedad solo está presente si la transmisión ya está sin conexión. El valor se especifica en formato ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). |
pageInfo |
object El objeto pageInfo encapsula la información de paginación del conjunto de resultados. |
pageInfo.totalResults |
integer Es la cantidad total de resultados en el conjunto de resultados. |
pageInfo.resultsPerPage |
integer Es la cantidad de resultados incluidos en la respuesta de la API. |
items[] |
list Es una lista de mensajes. Cada elemento de la lista es un recurso liveChatMessage . |
activePollItem |
object Son los datos de la encuesta en el mensaje. Cada encuesta es un recurso liveChatMessage con el tipo pollEvent , que representa una encuesta activa. Solo puede haber una encuesta por chat. |
Errores
En la siguiente tabla, se identifican los mensajes de error que la API podría devolver en respuesta a una llamada a este método. Para obtener más detalles, consulta la documentación del mensaje de error.
Cuando uses gRPC para conectarte, haz lo siguiente:
Código de error de gRPC | Detalle del error | Descripción |
---|---|---|
PERMISSION_DENIED (7) |
The caller does not have permission |
No tienes los permisos necesarios para recuperar los mensajes del chat en vivo especificado. |
INVALID_ARGUMENT (3) |
Request contains an invalid argument |
No se pudieron analizar los parámetros proporcionados. Asegúrate de que el liveChatId y otros parámetros tengan el formato correcto. |
FAILED_PRECONDITION (9) * |
Precondition check failed |
LIVE_CHAT_DISABLED. El chat en vivo especificado está inhabilitado. |
FAILED_PRECONDITION (9) * |
Precondition check failed |
LIVE_CHAT_ENDED. No puedes recuperar los mensajes del chat en vivo finalizado. |
NOT_FOUND (5) |
Requested entity was not found |
No se puede encontrar el chat en vivo que intentas recuperar. Comprueba el valor del parámetro liveChatId de la solicitud para asegurarte de que sea correcto. |
RESOURCE_EXHAUSTED (8) |
Resource has been exhausted (e.g. check quota) |
La solicitud se envió demasiado rápido después de la anterior. Este error ocurre cuando las solicitudes a la API para recuperar mensajes se envían con mayor frecuencia que las tasas de actualización de YouTube, lo que desperdicia ancho de banda de forma innecesaria. |
* Debido a una limitación de gRPC, no es posible distinguir, según el código de error, entre un caso de LIVE_CHAT_DISABLED
y un caso de LIVE_CHAT_ENDED
. YouTube está trabajando activamente en una solución para abordar este problema.
Cuando uses el tráfico web para conectarte, haz lo siguiente:
Tipo de error | Detalle del error | Descripción |
---|---|---|
HttpStatus.FORBIDDEN (403) |
forbidden |
No tienes los permisos necesarios para recuperar los mensajes del chat en vivo especificado. |
HttpStatus.BAD_REQUEST (400) |
Reason for invalid request, e.g. pageTokenInvalid |
No se pudieron analizar los parámetros proporcionados. Asegúrate de que el liveChatId y otros parámetros tengan el formato correcto. |
HttpStatus.FORBIDDEN (403) |
liveChatDisabled |
LIVE_CHAT_DISABLED. El chat en vivo especificado está inhabilitado. |
HttpStatus.FORBIDDEN (403) |
liveChatEnded |
LIVE_CHAT_ENDED. No puedes recuperar los mensajes del chat en vivo finalizado. |
HttpStatus.NOT_FOUND (404) |
liveChatNotFound |
No se puede encontrar el chat en vivo que intentas recuperar. Comprueba el valor del parámetro liveChatId de la solicitud para asegurarte de que sea correcto. |
HttpStatus.FORBIDDEN (403) |
rateLimitExceeded |
La solicitud se envió demasiado rápido después de la anterior. Este error ocurre cuando las solicitudes a la API para recuperar mensajes se envían con mayor frecuencia que las tasas de actualización de YouTube, lo que desperdicia ancho de banda de forma innecesaria. |