Quando você se conecta pela primeira vez, a API envia uma série de mensagens que contêm 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, você poderá usar esse token para retomar o stream. Para fazer isso, forneça o último nextPageToken recebido como o valor do parâmetro pageToken na 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 de chat ao vivo em streaming.
Solicitação
Parâmetros
A tabela a seguir lista os parâmetros aceitos por 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 do chat 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 recuperar uma string de exibição de moeda localizada para um idioma específico do aplicativo com suporte do site do YouTube. Por exemplo, em inglês, a moeda seria exibida como $1.50, mas em francês, seria 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 A solicitação inicial feita sem um token de continuação só vai conter os eventos mais recentes. Esse valor pode ser menor que A API não recupera eventos mais antigos do que aqueles retornados pela solicitação inicial feita sem um token de continuação. |
|
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 serão de 88 x 88 pixels. Os valores aceitáveis estão no intervalo de 16 a 720, inclusive. |
|
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": unsigne{d 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 de recurso da API. O valor será youtube#liveChatMessageListResponse. |
etag |
etagÉ a 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 subjacente ficou off-line. Essa propriedade só está presente se o stream 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 enquete é um recurso liveChatMessage com o tipo pollEvent, que representa uma enquete ativa. Só pode haver uma enquete por chat. |
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 do 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. Verifique 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 do 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 o valor do parâmetro liveChatId da solicitação para garantir que ele esteja correto. |
RESOURCE_EXHAUSTED (8) |
Resource has been exhausted (e.g. check quota) |
A solicitação foi enviada muito rapidamente 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. Verifique 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 do 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 o valor do parâmetro liveChatId da solicitação para garantir que ele esteja correto. |
HttpStatus.FORBIDDEN (403) |
rateLimitExceeded |
A solicitação foi enviada muito rapidamente 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. |