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 tu 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 obtener una demostración en Python de este extremo, 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 consulta. Todos los parámetros mencionados son parámetros de consulta.
| Parámetros | ||
|---|---|---|
| Parámetros obligatorios | ||
liveChatId |
stringEl parámetro liveChatId especifica el ID del chat cuyos mensajes se mostrarán. El ID de chat en vivo asociado con una transmisión se muestra en la propiedad snippet.liveChatId del recurso liveBroadcast. |
|
part |
stringEl 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 |
stringEl parámetro hl indica a la API que recupere una cadena de visualización de moneda localizada para un idioma de aplicación específico que admita 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 muestra el método i18nLanguages.list. |
|
maxResults |
unsigned integerEl parámetro La solicitud inicial que se realiza sin un token de continuación solo contendrá los eventos más recientes. Este valor puede ser menor que La API no recupera eventos anteriores a los que muestra la solicitud inicial realizada sin un token de continuación. |
|
pageToken |
stringEl parámetro pageToken identifica una página específica del conjunto de resultados que se debe mostrar. En una respuesta de la API, la propiedad nextPageToken identifica otras páginas que se podrían recuperar. |
|
profileImageSize |
unsigned integerEl parámetro profileImageSize especifica el tamaño de las imágenes de perfil de usuario 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 serán de 88 px por 88 px. Los valores aceptables están en el rango de 16 a 720, inclusive. |
|
Cuerpo de la solicitud
No proporciones un cuerpo de la 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": unsigne{d 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 |
stringIdentifica el tipo de recurso de la API. El valor será youtube#liveChatMessageListResponse. |
etag |
etagEs el Etag de este recurso. |
nextPageToken |
stringEs el token que se puede usar como el valor del parámetro pageToken para recuperar la siguiente página del conjunto de resultados. |
offlineAt |
datetimeEs la fecha y hora en que la transmisión en vivo subyacente se desconectó. 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 |
objectEl objeto pageInfo encapsula la información de paginación del conjunto de resultados. |
pageInfo.totalResults |
integerEs la cantidad total de resultados en el conjunto de resultados. |
pageInfo.resultsPerPage |
integerEs la cantidad de resultados incluidos en la respuesta de la API. |
items[] |
listEs una lista de mensajes. Cada elemento de la lista es un recurso liveChatMessage. |
activePollItem |
objectSon 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 mostrar en respuesta a una llamada a este método. Consulta la documentación del mensaje de error para obtener más detalles.
Cuando se usa gRPC para conectarse:
| 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 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 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 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. Verifica 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 solicitud anterior. Este error ocurre cuando las solicitudes a la API para recuperar mensajes se envían con más frecuencia que las frecuencias 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 LIVE_CHAT_DISABLED y un caso LIVE_CHAT_ENDED. YouTube está trabajando activamente en una solución para abordar este problema.
Cuando se usa tráfico web para conectarse:
| Tipo de error | Detalle del error | Descripción |
|---|---|---|
HttpStatus.FORBIDDEN (403) |
forbidden |
No tienes los permisos necesarios para recuperar 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 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 mensajes del chat en vivo finalizado. |
HttpStatus.NOT_FOUND (404) |
liveChatNotFound |
No se puede encontrar el chat en vivo que intentas recuperar. Verifica 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 solicitud anterior. Este error ocurre cuando las solicitudes a la API para recuperar mensajes se envían con más frecuencia que las frecuencias de actualización de YouTube, lo que desperdicia ancho de banda de forma innecesaria. |