При первом подключении API отправляет серию сообщений с историей недавних чатов. По мере публикации новых сообщений сервер будет продолжать отправлять их через открытое соединение.
Сообщения в каждом ответе сервера упорядочены от самых старых к самым новым. Каждый ответ также содержит токен
nextPageToken . Если ваш клиент отключится, вы можете использовать этот токен для возобновления потока. Для этого укажите последний полученный nextPageToken в качестве значения параметра pageToken в новом запросе на подключение. После этого API возобновит отправку сообщений с того места, где вы остановились.Демо
Демонстрацию Python для этой конечной точки см. в руководстве по потоковой передаче чата .
Запрос
Параметры
В следующей таблице перечислены параметры, поддерживаемые этим запросом. Все перечисленные параметры являются параметрами запроса.
| Параметры | ||
|---|---|---|
| Обязательные параметры | ||
 liveChatId |  stringПараметр liveChatId указывает идентификатор чата, сообщения которого будут возвращены. Идентификатор чата, связанного с трансляцией, возвращается в свойстве snippet.liveChatId ресурса liveBroadcast . | |
 part |  stringПараметр part определяет части ресурса liveChatMessage , которые будут включены в ответ API. Поддерживаемые значения: id , snippet и authorDetails . | |
| Необязательные параметры | ||
 hl |  stringПараметр hl указывает API получить локализованную строку отображения валюты для конкретного языка приложения, поддерживаемого сайтом YouTube . Например, на английском языке валюта будет отображаться как $1.50 , а на французском — как 1,50$ .Значение параметра должно быть кодом языка, включенным в список, возвращаемый методом i18nLanguages.list . | |
 maxResults |  unsigned integerПараметр maxResults определяет максимальное количество сообщений, которые должны быть возвращены в наборе результатов. Допустимые значения — от 200 до 2000 включительно. Значение по умолчанию — 500 . | |
 pageToken |  stringПараметр pageToken идентифицирует конкретную страницу в наборе результатов, которую необходимо вернуть. В ответе API свойство nextPageToken идентифицирует другие страницы, которые можно получить. | |
 profileImageSize |  unsigned integerПараметр profileImageSize определяет размер изображений профиля пользователя , которые должны быть возвращены в результирующем наборе. Изображения имеют квадратную форму. Значение по умолчанию — 88 , то есть изображения будут иметь размер 88x88 пикселей. Допустимые значения находятся в диапазоне 16 до 720 включительно.  | |
Текст запроса
Не указывайте тело запроса при вызове этого метода.
Ответ
В случае успеха этот метод возвращает тело ответа со следующей структурой:
{
  "kind": "youtube#liveChatMessageListResponse",
  "etag": etag,
  "nextPageToken": string,
  "pollingIntervalMillis": unsigned integer,
  "offlineAt": datetime,
  "pageInfo": {
    "totalResults": integer,
    "resultsPerPage": integer
  },
  "items": [
    liveChatMessage Resource
  ],
  "activePollItem": liveChatMessage Resource
}Характеристики
В следующей таблице определены свойства, которые отображаются в этом ресурсе:
| Характеристики | |
|---|---|
 kind |  stringОпределяет тип ресурса API. Значение будет youtube#liveChatMessageListResponse . | 
 etag |  etagEtag этого ресурса.  | 
 nextPageToken |  stringТокен, который можно использовать в качестве значения параметра pageToken для получения следующей страницы в наборе результатов. | 
 offlineAt |  datetimeДата и время, когда трансляция была отключена. Это свойство присутствует только в том случае, если трансляция уже отключена. Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). | 
 pageInfo |  objectОбъект pageInfo инкапсулирует информацию о страницах для набора результатов. | 
 pageInfo. totalResults |  integerОбщее количество результатов в наборе результатов.  | 
 pageInfo. resultsPerPage |  integerКоличество результатов, включенных в ответ API.  | 
 items[] |  listСписок сообщений. Каждый элемент списка — это ресурс liveChatMessage . | 
 activePollItem |  objectДанные опроса в сообщении. Каждый опрос — это ресурс liveChatMessage с типом pollEvent , представляющим активный опрос. В одном чате может быть только один опрос.  | 
Ошибки
В следующей таблице перечислены сообщения об ошибках, которые API может вернуть в ответ на вызов этого метода. Подробнее см. в документации по сообщениям об ошибках .
При использовании gRPC для подключения:
| Код ошибки gRPC | Подробности ошибки | Описание | 
|---|---|---|
PERMISSION_DENIED (7) |  The caller does not have permission | У вас нет разрешений, необходимых для получения сообщений для указанного чата. | 
 INVALID_ARGUMENT (3) |  Request contains an invalid argument | Не удалось проанализировать предоставленные параметры. Убедитесь, что liveChatId и другие параметры указаны в правильном формате. | 
 FAILED_PRECONDITION (9) * |  Precondition check failed | LIVE_CHAT_DISABLED. Указанный онлайн-чат отключен. | 
 FAILED_PRECONDITION (9) * |  Precondition check failed | LIVE_CHAT_ENDED. Вы не сможете восстановить сообщения из завершённого чата. | 
 NOT_FOUND (5) |  Requested entity was not found |  Онлайн-чат, который вы пытаетесь получить, не найден. Проверьте значение параметра liveChatId в запросе, чтобы убедиться в его корректности.  | 
 RESOURCE_EXHAUSTED (8) |  Resource has been exhausted (eg check quota) | Запрос был отправлен слишком быстро после предыдущего запроса. Эта ошибка возникает, когда запросы API на получение сообщений отправляются чаще, чем частота обновления YouTube, что приводит к неоправданной трате полосы пропускания. | 
 * Из-за ограничений gRPC невозможно отличить LIVE_CHAT_DISABLED от LIVE_CHAT_ENDED по коду ошибки. YouTube активно работает над решением этой проблемы.
При использовании веб-трафика для подключения:
| Тип ошибки | Подробности ошибки | Описание | 
|---|---|---|
 HttpStatus.FORBIDDEN (403) |  forbidden | У вас нет разрешений, необходимых для получения сообщений для указанного чата. | 
HttpStatus.BAD_REQUEST (400) |  Reason for invalid request, eg pageTokenInvalid | Не удалось проанализировать предоставленные параметры. Убедитесь, что liveChatId и другие параметры указаны в правильном формате. | 
HttpStatus.FORBIDDEN (403) |  liveChatDisabled | LIVE_CHAT_DISABLED. Указанный онлайн-чат отключен. | 
 HttpStatus.FORBIDDEN (403) |  liveChatEnded | LIVE_CHAT_ENDED. Вы не сможете восстановить сообщения из завершённого чата. | 
 HttpStatus.NOT_FOUND (404) |  liveChatNotFound |  Онлайн-чат, который вы пытаетесь получить, не найден. Проверьте значение параметра liveChatId в запросе, чтобы убедиться в его корректности.  | 
 HttpStatus.FORBIDDEN (403) |  rateLimitExceeded | Запрос был отправлен слишком быстро после предыдущего запроса. Эта ошибка возникает, когда запросы API на получение сообщений отправляются чаще, чем частота обновления YouTube, что приводит к неоправданной трате полосы пропускания. |