Ресурс liveChatMessage
представляет сообщение в живом чате YouTube. Ресурс может содержать информацию о нескольких типах сообщений, включая недавно опубликованное текстовое сообщение или мероприятие, посвященное финансированию фанатов.
Функция живого чата включена по умолчанию для прямых трансляций и доступна, пока прямая трансляция активна. (После завершения мероприятия живой чат для этого мероприятия больше не доступен.)
Методы
API поддерживает следующие методы для ресурсов liveChatMessages
:
- list
- Перечисляет сообщения живого чата для определенного чата. Попробуйте сейчас .
- 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 Этаг этого ресурса. |
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 Этот объект содержит подробную информацию о событии участника Milestone . Он присутствует только в том случае, если тип сообщения memberMilestoneChatEvent . |
snippet.memberMilestoneChatDetails. userComment | string Комментарий, добавленный участником в этот чат участника Milestone. Это поле пусто для сообщений без комментариев участника. |
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 Этот объект содержит сведения о событии Суперчата. Он присутствует только в том случае, если тип сообщения — 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 .Уровень зависит от суммы денег, потраченной на покупку сообщения. Он также определяет цвет, используемый для выделения сообщения в пользовательском интерфейсе чата, максимальную длину сообщения и время, в течение которого сообщение закрепляется за тикером. Уровни Суперчата описаны в Справочном центре YouTube . (Сведения о покупках в Суперчате см. в расширяемом разделе.) В этом списке уровень с наименьшей суммой покупки — это уровень 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 .Уровень зависит от суммы денег, потраченной на покупку сообщения. Он также определяет цвет, используемый для выделения сообщения в пользовательском интерфейсе чата, максимальную длину сообщения и время, в течение которого сообщение закрепляется за тикером. Уровни Суперчата, которые также охватывают суперстикеры, описаны в Справочном центре YouTube . (Сведения о покупках в Суперчате см. в расширяемом разделе.) В этом списке уровень с наименьшей суммой покупки — это уровень 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 Идентификатор сообщения о подарке членства, связанного с этим подарочным членством. membershipGiftingEvent type |
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 Это значение указывает, является ли автор модератором живого чата. |