我一直在使用YouTube实时聊天API来呈现一个YouTube实时流聊天,但是我一直在研究如何处理表情。
用于实时聊天消息的YouTube API似乎只返回纯文本的消息,而不是有关表情的元数据。这本身很好,因为纯文本中有用于表情的标准语法,但我很难将它们转换成图像。
如果我查看我从YouTube API获得的响应,除了纯文本消息之外,我看不到任何关于这些表情的信息:
{
"kind": "youtube#liveChatMessage",
"etag": "UaRmhczzavJeCA9S1_s8J_4MHD0",
"id": "LCC.CjgKDQoLd1VwYUIzYTdkVW8qJwoYVUNEWExPVjNTMEdUd21EOFY4R1A2dzlREgt3VXBhQjNhN2RVbxJFChpDT25vOHN6SW92VUNGZUFJMWdBZE85b1BfZxInQ1BhdG12UEhvdlVDRlhzNFRBb2RVSE1BeVExNjQxNjU5MDY5OTU3",
"snippet": {
"type": "textMessageEvent",
"liveChatId": "Cg0KC3dVcGFCM2E3ZFVvKicKGFVDRFhMT1YzUzBHVHdtRDhWOEdQNnc5URILd1VwYUIzYTdkVW8",
"authorChannelId": "UC_MMOdc84fer50_SIPiPX1Q",
"publishedAt": "2022-01-08T16:24:28.363Z",
"hasDisplayContent": true,
"displayMessage": ":yougotthis::elbowcough:",
"textMessageDetails": {
"messageText": ":yougotthis::elbowcough:"
}
},
"authorDetails": {
"channelId": "UC_MMOdc84fer50_SIPiPX1Q",
"channelUrl": "http://www.youtube.com/channel/UC_MMOdc84fer50_SIPiPX1Q",
"displayName": "Blake Nolan",
"profileImageUrl": "https://yt3.ggpht.com/ytc/AKedOLSVNcUaOuoH49GXdG1Zlam0uBMJYJXUI5h_pHtMr-rOVr5hDnjzspewBUVqgKyw=s88-c-k-c0x00ffffff-no-rj",
"isVerified": false,
"isChatOwner": false,
"isChatSponsor": false,
"isChatModerator": false
}
}但是,如果我看看这条消息是如何在YouTube聊天中显示的,就会呈现出这些表情:

我缺少什么来执行这个查找和转换,这样我就可以呈现聊天消息中的表情了?
干杯。
发布于 2022-01-11 02:12:10
要想在这个精确的问题上完成来自my answer的your other question:
通过运行步骤1,您将在请求之前获得以HTML格式发送的实时消息,其中包含格式为: emote :但随后是表情图像的URL。
通过运行所有步骤,您将获得以JSON格式实时发送的实时消息,同样,您将获得带有格式的表情的实时聊天消息: emote :但接下来是表情图像的URL。
我让您理解HTML和JSON格式。
注意:我还发现,当反向工程的https://www.gstatic.com/youtube/img/emojis/emojis-svg-N.json与N在0到8之间,返回一堆的表情代码链接到他们的图像网址,但有些表情,像你说的不是在这些文件,我不知道为什么。
https://stackoverflow.com/questions/70634273
复制相似问题