Quando você se conecta pela primeira vez, a API envia uma série de mensagens com o histórico de chat recente. À medida que novas mensagens são postadas, o servidor continua enviando-as pela conexão aberta.
As mensagens em cada resposta do servidor são ordenadas da mais antiga para a mais recente. Cada resposta também inclui um
nextPageToken. Se o cliente se desconectar, use esse token para retomar a transmissão. Para fazer isso, forneça o último nextPageToken recebido como o valor do parâmetro pageToken na sua nova solicitação de conexão. A API vai retomar o envio de mensagens do ponto em que você parou.
Demonstração
Para uma demonstração em Python desse endpoint, consulte o guia Chat em tempo real por streaming.
Solicitação
Parâmetros
A tabela a seguir lista os parâmetros compatíveis com essa consulta. Todos os parâmetros listados são os parâmetros de consulta.
| Parâmetros | ||
|---|---|---|
| Parâmetros obrigatórios | ||
liveChatId |
stringO parâmetro liveChatId especifica o ID da conversa cujas mensagens serão retornadas. O ID do chat ao vivo associado a uma transmissão é retornado na propriedade snippet.liveChatId do recurso liveBroadcast. |
|
part |
stringO parâmetro part especifica as partes do recurso liveChatMessage que a resposta da API vai incluir. Os valores aceitos são id, snippet e authorDetails. |
|
| Parâmetros opcionais | ||
hl |
stringO parâmetro hl instrui a API a extrair uma string de exibição de moeda localizada para um idioma do aplicativo específico compatível com o site do YouTube. Por exemplo, em inglês, a moeda seria exibida como $1.50, mas em francês, como 1,50$.O valor do parâmetro precisa ser um código de idioma incluído na lista retornada pelo método i18nLanguages.list. |
|
maxResults |
unsigned integerO parâmetro maxResults especifica o número máximo de mensagens que devem ser retornadas no conjunto de resultados. Os valores aceitos vão de 200 a 2000. O valor padrão é 500. |
|
pageToken |
stringO parâmetro pageToken identifica uma página específica no conjunto de resultados que precisa ser retornada. Em uma resposta da API, a propriedade nextPageToken identifica outras páginas que podem ser recuperadas. |
|
profileImageSize |
unsigned integerO parâmetro profileImageSize especifica o tamanho das fotos de perfil do usuário que precisam ser retornadas no conjunto de resultados. As imagens são quadradas. O valor padrão é 88, o que significa que as imagens terão 88 x 88 pixels. Os valores aceitos estão no intervalo de 16 a 720. |
|
Corpo da solicitação
Não forneça um corpo de solicitação ao chamar esse método.
Resposta
Se for bem-sucedido, esse método retornará um corpo de resposta com esta estrutura:
{
"kind": "youtube#liveChatMessageListResponse",
"etag": etag,
"nextPageToken": string,
"pollingIntervalMillis": unsigned integer,
"offlineAt": datetime,
"pageInfo": {
"totalResults": integer,
"resultsPerPage": integer
},
"items": [
liveChatMessage Resource
],
"activePollItem": liveChatMessage Resource
}Propriedades
A tabela a seguir define as propriedades que aparecem neste recurso:
| Propriedades | |
|---|---|
kind |
stringIdentifica o tipo do recurso da API. O valor será youtube#liveChatMessageListResponse. |
etag |
etagA ETag deste recurso. |
nextPageToken |
stringO token que pode ser usado como o valor do parâmetro pageToken para recuperar a próxima página no conjunto de resultados. |
offlineAt |
datetimeA data e a hora em que a transmissão ao vivo ficou off-line. Essa propriedade só estará presente se a transmissão já estiver off-line. O valor é especificado no formato ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ). |
pageInfo |
objectO objeto pageInfo encapsula informações de paginação para o conjunto de resultados. |
pageInfo.totalResults |
integerO número total de resultados no conjunto de resultados. |
pageInfo.resultsPerPage |
integerO número de resultados incluídos na resposta da API. |
items[] |
listUma lista de mensagens. Cada item da lista é um recurso liveChatMessage. |
activePollItem |
objectOs dados da enquete na mensagem. Cada pesquisa é um recurso liveChatMessage com o tipo pollEvent, que representa uma pesquisa ativa. Só é possível fazer uma enquete por conversa. |
Erros
A tabela a seguir identifica as mensagens de erro que a API pode retornar em resposta a uma chamada para esse método. Consulte a documentação da mensagem de erro para mais detalhes.
Ao usar o gRPC para se conectar:
| Código de erro do gRPC | Detalhe do erro | Descrição |
|---|---|---|
PERMISSION_DENIED (7) |
The caller does not have permission |
Você não tem as permissões necessárias para recuperar mensagens do chat ao vivo especificado. |
INVALID_ARGUMENT (3) |
Request contains an invalid argument |
Falha ao analisar os parâmetros fornecidos. Confira se o liveChatId e outros parâmetros estão no formato correto. |
FAILED_PRECONDITION (9)* |
Precondition check failed |
LIVE_CHAT_DISABLED. O chat ao vivo especificado está desativado. |
FAILED_PRECONDITION (9)* |
Precondition check failed |
LIVE_CHAT_ENDED. Não é possível recuperar mensagens de um chat ao vivo encerrado. |
NOT_FOUND (5) |
Requested entity was not found |
Não foi possível encontrar o chat ao vivo que você está tentando recuperar. Verifique se o valor do parâmetro liveChatId da solicitação está correto. |
RESOURCE_EXHAUSTED (8) |
Resource has been exhausted (e.g. check quota) |
A solicitação foi enviada muito rápido após a anterior. Esse erro ocorre quando as solicitações de API para recuperar mensagens são enviadas com mais frequência do que as taxas de atualização do YouTube, o que desperdiça largura de banda desnecessariamente. |
* Devido a uma limitação do gRPC, não é possível distinguir com base no código de erro entre um caso LIVE_CHAT_DISABLED e um caso LIVE_CHAT_ENDED. O YouTube está trabalhando ativamente em uma solução para resolver esse problema.
Ao usar o tráfego da Web para se conectar:
| Tipo de erro | Detalhe do erro | Descrição |
|---|---|---|
HttpStatus.FORBIDDEN (403) |
forbidden |
Você não tem as permissões necessárias para recuperar mensagens do chat ao vivo especificado. |
HttpStatus.BAD_REQUEST (400) |
Reason for invalid request, e.g. pageTokenInvalid |
Falha ao analisar os parâmetros fornecidos. Confira se o liveChatId e outros parâmetros estão no formato correto. |
HttpStatus.FORBIDDEN (403) |
liveChatDisabled |
LIVE_CHAT_DISABLED. O chat ao vivo especificado está desativado. |
HttpStatus.FORBIDDEN (403) |
liveChatEnded |
LIVE_CHAT_ENDED. Não é possível recuperar mensagens de um chat ao vivo encerrado. |
HttpStatus.NOT_FOUND (404) |
liveChatNotFound |
Não foi possível encontrar o chat ao vivo que você está tentando recuperar. Verifique se o valor do parâmetro liveChatId da solicitação está correto. |
HttpStatus.FORBIDDEN (403) |
rateLimitExceeded |
A solicitação foi enviada muito rápido após a anterior. Esse erro ocorre quando as solicitações de API para recuperar mensagens são enviadas com mais frequência do que as taxas de atualização do YouTube, o que desperdiça largura de banda desnecessariamente. |