Ресурс liveChatMessage
представляет собой сообщение в чате YouTube. Ресурс может содержать информацию о нескольких типах сообщений, включая недавно опубликованные текстовые сообщения или мероприятия по сбору средств от фанатов.
Функция живого чата включена по умолчанию для прямых трансляций и доступна во время прямой трансляции. (После окончания мероприятия чат для этого мероприятия становится недоступным.)
Методы
API поддерживает следующие методы для ресурсов liveChatMessages
:
- list
- Выводит список сообщений чата в режиме реального времени для конкретного чата. Попробуйте прямо сейчас .
- streamList
- Обеспечивает потоковое соединение с сервером для получения сообщений чата в режиме реального времени для конкретного чата с низкой задержкой. Попробуйте прямо сейчас .
- insert
- Добавляет сообщение или опрос в чат. Попробуйте прямо сейчас .
- transition
- Изменяет состояние живого сообщения. Попробуйте прямо сейчас .
- delete
- Удаляет сообщение чата. API-запрос должен быть авторизован владельцем канала или модератором чата. Попробуйте сейчас .
Представление ресурсов
Следующая структура JSON показывает формат ресурса liveChatMessages
:
{ "kind": "youtube#liveChatMessage", "etag": etag, "id": string, "snippet": { "type": string, "liveChatId": string, "authorChannelId": string, "publishedAt": datetime, "hasDisplayContent": boolean, "displayMessage": string, "fanFundingEventDetails": { "amountMicros": unsigned long, "currency": string, "amountDisplayString": string, "userComment": string }, "textMessageDetails": { "messageText": string }, "messageDeletedDetails": { "deletedMessageId": string }, "userBannedDetails": { "bannedUserDetails": { "channelId": string, "channelUrl": string, "displayName": string, "profileImageUrl": string }, "banType": string, "banDurationSeconds": unsigned long }, "memberMilestoneChatDetails": { "userComment": string, "memberMonth": unsigned integer, "memberLevelName": string }, "newSponsorDetails": { "memberLevelName": string, "isUpgrade": bool }, "superChatDetails": { "amountMicros": unsigned long, "currency": string, "amountDisplayString": string, "userComment": string, "tier": unsigned integer }, "superStickerDetails": { "superStickerMetadata": { "stickerId": string, "altText": string, "language": string }, "amountMicros": unsigned long, "currency": string, "amountDisplayString": string, "tier": unsigned integer }, "pollDetails": { "metadata": { "options": { "optionText": string, "tally": string, }, "questionText": string, "status": enum }, }, "membershipGiftingDetails": { "giftMembershipsCount": integer, "giftMembershipsLevelName": string }, "giftMembershipReceivedDetails": { "memberLevelName": string, "gifterChannelId": string, "associatedMembershipGiftingMessageId": string }, }, "authorDetails": { "channelId": string, "channelUrl": string, "displayName": string, "profileImageUrl": string, "isVerified": boolean, "isChatOwner": boolean, "isChatSponsor": boolean, "isChatModerator": boolean }, }
Характеристики
В следующей таблице определены свойства, которые отображаются в этом ресурсе:
Характеристики | |
---|---|
kind | string Определяет тип ресурса API. Значение будет youtube#liveChatMessage . |
etag | etag Etag этого ресурса. |
id | string Идентификатор, который YouTube назначает для уникальной идентификации сообщения. |
snippet | object Объект snippet содержит основные сведения о сообщении чата. |
snippet. type | string Тип сообщения. Это свойство всегда присутствует, и его значение определяет, какие поля присутствуют в ресурсе. Допустимые значения для этого свойства:
|
snippet. liveChatId | string Идентификатор, однозначно идентифицирующий чат, с которым связано сообщение. Идентификатор чата, связанный с трансляцией, возвращается в свойстве snippet.liveChatId ресурса liveBroadcast . |
snippet. authorChannelId | string Идентификатор пользователя, создавшего сообщение. Это поле заполняется только для следующих типов сообщений:
|
snippet. publishedAt | datetime Дата и время первоначальной публикации сообщения. Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). |
snippet. hasDisplayContent | boolean Указывает, содержит ли сообщение отображаемое содержимое, которое следует отображать пользователям. |
snippet. displayMessage | string Содержит строку, отображаемую пользователям. Это поле отсутствует, если тип сообщения — chatEndedEvent или tombstone . |
snippet. fanFundingEventDetails | object Примечание: Этот объект и его дочерние свойства устарели. С 28 февраля 2017 г. ресурсы liveChatMessage больше не будут возвращать информацию о мероприятиях по сбору средств от поклонников.Этот объект содержит информацию о мероприятии по сбору средств. Он присутствует только в том случае, если тип сообщения — fanFundingEvent . |
snippet.fanFundingEventDetails. amountMicros | unsigned long Примечание: это свойство устарело. Размер фонда. |
snippet.fanFundingEventDetails. currency | string Примечание: это свойство устарело. Валюта, в которой был создан фонд. |
snippet.fanFundingEventDetails. amountDisplayString | string Примечание: это свойство устарело. Отображаемая строка, которая отображает пользователю сумму и валюту фонда. |
snippet.fanFundingEventDetails. userComment | string Примечание: это свойство устарело. Комментарий, добавленный пользователем к этому мероприятию по сбору средств фанатами. |
snippet. textMessageDetails | object Этот объект содержит сведения о текстовом сообщении. Он присутствует только в том случае, если тип сообщения — textMessageEvent . |
snippet.textMessageDetails. messageText | string Сообщение пользователя. |
snippet. messageDeletedDetails | object Этот объект содержит информацию о сообщении, удаленном модератором чата или владельцем канала прямой трансляции. Он присутствует только для сообщений типа messageDeletedEvent . |
snippet.messageDeletedDetails. deletedMessageId | string Идентификатор, который однозначно идентифицирует удалённое сообщение. Значение совпадает со значением свойства id исходного текстового сообщения. Например, если у textMessageEvent свойство id равно 123 , и это сообщение впоследствии удаляется, значение snippet.messageDeletedDetails.deletedMessageId для этого сообщения будет 123 .Если вы кэшируете сообщения чата после их извлечения, используйте значение этого свойства для определения сообщения, которое больше не должно отображаться. |
snippet. userBannedDetails | object Этот объект содержит информацию о пользователе, которому был забанен доступ к чату. Он также содержит информацию о самом забане. Пользователи могут быть забанены в чате постоянно или временно. |
snippet.userBannedDetails. bannedUserDetails | object Этот объект содержит информацию о забаненном пользователе. |
snippet.userBannedDetails.bannedUserDetails. channelId | string Идентификатор канала YouTube заблокированного пользователя. |
snippet.userBannedDetails.bannedUserDetails. channelUrl | string URL-адрес канала заблокированного пользователя на YouTube. |
snippet.userBannedDetails.bannedUserDetails. displayName | string Отображаемое имя канала заблокированного пользователя YouTube. |
snippet.userBannedDetails.bannedUserDetails. profileImageUrl | string Аватар YouTube-канала заблокированного пользователя. |
snippet.userBannedDetails. banType | string Тип запрета. Допустимые значения этого свойства:
|
snippet.userBannedDetails. banDurationSeconds | unsigned long Продолжительность бана. Это свойство присутствует только в том случае, если значение свойства snippet.userBannedDetails.banType — temporary . |
snippet. memberMilestoneChatDetails | object Этот объект содержит сведения о событии Member Milestone . Он присутствует только в том случае, если тип сообщения — memberMilestoneChatEvent . |
snippet.memberMilestoneChatDetails. userComment | string Комментарий, добавленный участником к этому чату Milestone Chat. Это поле пусто для сообщений без комментария от участника. |
snippet.memberMilestoneChatDetails. memberMonth | unsigned integer Общее количество месяцев (округлённое в большую сторону), в течение которых зритель был участником, предоставившим ему этот чат. Это количество месяцев отображается пользователям YouTube. |
snippet.memberMilestoneChatDetails. memberLevelName | string Название уровня, на котором находится зритель. Названия уровней определяются каналом YouTube, предлагающим подписку. В некоторых случаях это поле не заполняется. |
snippet. newSponsorDetails | object Этот объект содержит сведения о событии «Объявление о новом участнике». Задаётся только для типа newSponsorEvent . «Участник» — это термин, обозначающий «спонсора». |
snippet.newSponsorDetails. memberLevelName | string Название уровня, на котором находится зритель. Названия уровней определяются каналом YouTube, предлагающим подписку. В некоторых случаях это поле не заполняется. |
snippet.newSponsorDetails. isUpgrade | bool Указывает, перешёл ли зритель с более низкого уровня. Для зрителей, которые не были зарегистрированы на момент покупки, значение поля — false . |
snippet. superChatDetails | object Этот объект содержит информацию о событии Super Chat. Он присутствует только для сообщений типа superChatEvent . |
snippet.superChatDetails. amountMicros | unsigned long Сумма покупки в микродолях валюты покупки. Например, если сумма покупки составляет один доллар, значение свойства snippet.amountMicros будет равно 1000000 . |
snippet.superChatDetails. currency | string Валюта, в которой была совершена покупка. Значение представляет собой код валюты ISO 4217 . |
snippet.superChatDetails. amountDisplayString | string Строка, например, $1.00 , содержащая сумму покупки и валюту. Эта строка предназначена для отображения пользователю. |
snippet.superChatDetails. userComment | string Комментарий, добавленный пользователем к этому событию Суперчата. |
snippet.superChatDetails. tier | unsigned integer Уровень платного сообщения. Обратите внимание, что в ресурсе superChatEvent свойство snippet.messageType содержит это значение.Уровень зависит от суммы, потраченной на покупку сообщения. Он также определяет цвет, используемый для выделения сообщения в интерфейсе онлайн-чата, максимальную длину сообщения и время, в течение которого сообщение будет закреплено в тикере. Уровни Super Chat описаны в Справочном центре YouTube . (См. расширенный раздел с подробностями покупки Super Chat.) В этом списке уровень с наименьшей суммой покупки — это уровень 1, следующая наименьшая сумма — это уровень 2 и т. д. |
snippet. superStickerDetails | object Этот объект содержит информацию о событии «Суперстикер». Он присутствует только для сообщения типа superStickerEvent . |
snippet.superStickerDetails. superStickerMetadata | object Подробная информация о Супер Наклейке. |
snippet.superStickerDetails.superStickerMetadata. stickerId | string Уникальный идентификатор, идентифицирующий изображение стикера. Обратите внимание, что изображение отображается только как часть сообщения суперстикера, когда пользователи просматривают окно чата на YouTube. Однако URL-адрес изображения недоступен через API. Только для справки: в этом CSV-файле вы можете найти, какие идентификаторы стикеров соответствуют тем или иным суперстикерам. |
snippet.superStickerDetails.superStickerMetadata. altText | string Текстовая строка с описанием стикера. Поле snippet.superStickerDetails.superStickerMetadata.language определяет язык текста. При вызове метода liveChatMessages.list задайте значение параметра hl равным выбранному языку текста. |
snippet.superStickerDetails.superStickerMetadata. language | string Язык значения свойства snippet.superStickerDetails.superStickerMetadata.altText . |
snippet.superStickerDetails. amountMicros | unsigned long Сумма покупки в микродолях валюты покупки. Например, если сумма покупки составляет один доллар, значение свойства snippet.amountMicros будет равно 1000000 . |
snippet.superStickerDetails. currency | string Валюта, в которой была совершена покупка. Значение представляет собой код валюты ISO 4217 . |
snippet.superStickerDetails. amountDisplayString | string Строка, например, $1.00 , содержащая сумму покупки и валюту. Эта строка предназначена для отображения пользователю. |
snippet.superStickerDetails. tier | unsigned integer Уровень платного сообщения. Обратите внимание, что в ресурсе superChatEvent свойство snippet.messageType содержит это значение.Уровень зависит от суммы, потраченной на покупку сообщения. Он также определяет цвет, используемый для выделения сообщения в интерфейсе онлайн-чата, максимальную длину сообщения и время, в течение которого сообщение будет закреплено в тикере. Уровни Super Chat, которые также охватывают Super Stickers, описаны в Справочном центре YouTube . (См. расширенный раздел с подробностями покупки Super Chat.) В этом списке уровень с наименьшей суммой покупки — это уровень 1, следующий по величине — уровень 2 и т. д. |
snippet. pollDetails | object Этот объект содержит сведения о событии опроса. Он присутствует только в том случае, если тип сообщения — pollEvent . |
snippet.pollDetails. metadata | object Подробная информация о мероприятии по опросу. |
snippet.pollDetails.metadata. options | object Варианты ответов в опросе в режиме реального времени. |
snippet.pollDetails.metadata.options. optionText | string Текст варианта живого опроса. |
snippet.pollDetails.metadata.options. tally | string Подсчёт результатов опроса в режиме реального времени. Подсчёт доступен только в том случае, если запрос к API авторизован владельцем канала. |
snippet.pollDetails.metadata. questionText | string Текст вопроса опроса в режиме реального времени. |
snippet.pollDetails.metadata. status | enum Статус события опроса в режиме реального времени. Допустимые значения этого свойства:
|
snippet. membershipGiftingDetails | object Этот объект содержит сведения о событии «Подарка членства». Он присутствует только в том случае, если message type — membershipGiftingEvent . |
snippet.membershipGiftingDetails. giftMembershipsCount | integer Количество подарочных членств, приобретенных пользователем. |
snippet.membershipGiftingDetails. giftMembershipsLevelName | string Название уровня подарочного абонемента, приобретённого пользователем. Названия уровней определяются каналом YouTube, предлагающим абонемент. В некоторых случаях это поле не заполняется. |
snippet. giftMembershipReceivedDetails | object Этот объект содержит сведения о событии «Получение подарочного членства». Он присутствует только в том случае, если message type — giftMembershipReceivedEvent . |
snippet.giftMembershipReceivedDetails. memberLevelName | string Название уровня, на котором находится зритель. Соответствует snippet.membershipGiftingDetails.giftMembershipsLevelName соответствующего сообщения о подарке членства. Названия уровней определяются каналом YouTube, предлагающим это членство. В некоторых случаях это поле не заполняется. |
snippet.giftMembershipReceivedDetails. gifterChannelId | string Идентификатор пользователя, совершившего покупку подарочного членства. Соответствует фрагменту snippet.authorChannelId соответствующего сообщения о подарочном членстве. |
snippet.giftMembershipReceivedDetails. associatedMembershipGiftingMessageId | string Идентификатор сообщения о подарке членства, связанного с этим подарком. Этот идентификатор всегда будет относиться к сообщению type membershipGiftingEvent . |
authorDetails | object Объект authorDetails содержит дополнительные сведения о пользователе, опубликовавшем это сообщение. |
authorDetails. channelId | string Идентификатор канала автора на YouTube. |
authorDetails. channelUrl | string URL канала автора на YouTube. |
authorDetails. displayName | string Отображаемое имя канала автора на YouTube. |
authorDetails. profileImageUrl | string URL-адрес аватара YouTube-канала автора. |
authorDetails. isVerified | boolean Это значение указывает, была ли личность автора подтверждена YouTube. |
authorDetails. isChatOwner | boolean Это значение указывает, является ли автор владельцем чата. |
authorDetails. isChatSponsor | boolean Это значение указывает, является ли автор спонсором чата. |
authorDetails. isChatModerator | boolean Это значение указывает, является ли автор модератором чата. |