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 |
string O 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 |
string O 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 |
string O 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 integer O 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 |
string O 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 integer O 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 |
string Identifica o tipo do recurso da API. O valor será youtube#liveChatMessageListResponse . |
etag |
etag A ETag deste recurso. |
nextPageToken |
string O token que pode ser usado como o valor do parâmetro pageToken para recuperar a próxima página no conjunto de resultados. |
offlineAt |
datetime A 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 |
object O objeto pageInfo encapsula informações de paginação para o conjunto de resultados. |
pageInfo.totalResults |
integer O número total de resultados no conjunto de resultados. |
pageInfo.resultsPerPage |
integer O número de resultados incluídos na resposta da API. |
items[] |
list Uma lista de mensagens. Cada item da lista é um recurso liveChatMessage . |
activePollItem |
object Os 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. |