【发布时间】:2022-01-08 16:35:12
【问题描述】:
我一直在探索 YouTube 实时聊天 API 以呈现自定义聊天提要,并且想知道如何像 YouTube 网站本身那样在用户旁边显示会员/赞助徽章?
查看来自 API 的响应,我可以看到 YouTube 确实告诉我用户是会员/赞助商,但它不包括应该在什么级别/持续时间以及应该显示什么徽章图像:
{
"kind": "youtube#liveChatMessage",
"etag": "MHpDf4piJnYR2X3lP-7mwBavfWM",
"id": "LCC.CjgKDQoLd1VwYUIzYTdkVW8qJwoYVUNEWExPVjNTMEdUd21EOFY4R1A2dzlREgt3VXBhQjNhN2RVbxI7ChpDSVRodDQzS292VUNGZVV0clFZZHNJRUwzZxIdQ1B1VHJiYV9vdlVDRllhRGdnb2RaUE1LanctMjY",
"snippet": {
"type": "textMessageEvent",
"liveChatId": "Cg0KC3dVcGFCM2E3ZFVvKicKGFVDRFhMT1YzUzBHVHdtRDhWOEdQNnc5URILd1VwYUIzYTdkVW8",
"authorChannelId": "UCYC1zf9Dznp-xpe9rwEopLQ",
"publishedAt": "2022-01-08T16:31:12.317Z",
"hasDisplayContent": true,
"displayMessage": "Instead of waiting 30 seconds you had to spam facecam now you get a 5 minute timeout",
"textMessageDetails": {
"messageText": "Instead of waiting 30 seconds you had to spam facecam now you get a 5 minute timeout"
}
},
"authorDetails": {
"channelId": "UCYC1zf9Dznp-xpe9rwEopLQ",
"channelUrl": "http://www.youtube.com/channel/UCYC1zf9Dznp-xpe9rwEopLQ",
"displayName": "Cody Kerley",
"profileImageUrl": "https://yt3.ggpht.com/ytc/AKedOLQFiwv-x6ukfTOh7pD7WlCe7Ss1AB5wH7QAF53uiQ=s88-c-k-c0x00ffffff-no-rj",
"isVerified": false,
"isChatOwner": false,
"isChatSponsor": true,
"isChatModerator": true
}
}
但是,如果我查看此消息在 YouTube 聊天本身中的显示方式,则用户拥有与其级别/持续时间对应的正确会员徽章,特定于该频道,并且工具提示还会向您显示会员级别/持续时间/赞助:
如何从 API 中获取每条聊天消息的这些信息,以便我自己正确呈现徽章?
干杯。
【问题讨论】:
-
我想为您提供帮助,但是即使在网络界面上我也无法复制您的图片。您能否与我们分享一个带有聊天重播的 YouTube 视频 ID? “随机”用户可以看到这些信息还是只有你?在“随机”的情况下,我可以尝试逆向工程。
-
是的,任何查看直播实时聊天的人都可以使用此信息,包括匿名用户——我只是在 YouTube API 的任何地方都看不到它。上面包含的演示消息来自youtube.com/watch?v=wUpaB3a7dUo,这只是我选择用来测试我的代码的随机直播。
-
只是为了确保您的请求是关于已结束的直播或正在直播的直播或两者兼而有之?
-
希望通过一个活跃的实时聊天来解决这个问题,目前正在广播:)
标签: youtube youtube-api youtube-data-api youtube-livestreaming-api