如何在YouTube直播期间获取通过"聊天"框输入的评论摘要?

Mar*_*cke 11 youtube youtube-api youtube-livestreaming-api

YouTube API可让用户获取评论Feed,例如通过https://gdata.youtube.com/feeds/api/videos/VIDEO_ID/comments?orderby=published.

但是,当我尝试使用实时流的视频ID时,无论提交了多少条评论,结果始终为空.现场视频和任何其他的视频(或录制的实时流的)之间的唯一区别是,"意见"部分替换为"聊天"中,他们的意见似乎无法通过API可用.

当流停止时,通过聊天框提交的所有评论都"完全消失",无法再访问.但是,在现场直播之后提交的所有评论都已存档(即已提供录制),会显示在评论供稿中.

对于实时应用程序,我需要在广播仍然有效时访问"聊天"评论,以检索用户提交的问题.

有没有办法做到这一点?

JAL*_*JAL 8

现在,您可以使用LiveChatMessages端点作为YouTube直播API的一部分,为自己的广播返回聊天消息.

当创建一个新liveBroadcast的对象,一个liveChatId字符串将返回作为的一部分liveBroadcastsnippet.您通过广播的聊天ID到LiveChatMessages/list端点的liveChatId参数,并且id,snippetauthorDetailspart参数.

HTTP GET https://www.googleapis.com/youtube/v3/liveChat/messages?liveChatId={liveChatId}&part=id%2C+snippet%2C+authorDetails&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)

这将返回一系列liveChatMessage资源.实际的聊天消息包含在textMessageDetails字典中作为messageText密钥的值.

"textMessageDetails": {
  "messageText": string
}
Run Code Online (Sandbox Code Playgroud)

  • 为什么不是所有广播都可用?Threre没有私人广播,对不对? (2认同)
  • 自答案发布以来已经过去五年了。情况有变化吗?我们是否还必须坚持使用 Selenium 来获取别人直播的聊天内容? (2认同)