如何在YouTube直播期间获取通过“聊天”框input的评论的提要?
YouTube API使用户可以获取评论供稿,例如,通过https://gdata.youtube.com/feeds/api/videos/VIDEO_ID/comments?orderby=published
。
但是,当我尝试使用实时stream的videoID进行处理时,无论提交了多less条评论,结果都是空的。 实时video和其他任何video(或实时stream的录制)之间的唯一区别在于,“评论”部分被replace为“聊天”框,其评论似乎无法通过API获得。
当stream停止时,通过聊天框提交的所有评论“完全消失”,不能再被访问。 然而,现场直播后提交的所有评论已经被存档(即已经提供了录制内容)。
对于实时应用程序,我需要在广播仍然有效时访问“聊天”评论,以检索用户提交的问题。
有没有办法做到这一点?
现在可以使用LiveChatMessages
端点作为YouTube直播streamAPI的一部分为您自己的广播返回聊天消息。
当创build一个新的liveBroadcast
对象时, liveChatId
String将作为liveBroadcast
的snippet
一部分被返回。 将广播的聊天ID传递给LiveChatMessages/list
端点的liveChatId
参数,以及id
, snippet
和authorDetails
到part
参数中。
HTTP GET https://www.googleapis.com/youtube/v3/liveChat/messages?liveChatId={liveChatId}&part=id%2C+snippet%2C+authorDetails&key={YOUR_API_KEY}
这将返回一个liveChatMessage
资源数组。 实际的聊天消息作为messageText
键的值包含在textMessageDetails
字典中。
"textMessageDetails": { "messageText": string }
谷歌的开发者关系团队成员,关注YouTube API的成员易卜拉欣·乌鲁卡亚 ( Ibrahim Ulukaya)就类似的问题( 如何获得Java中的Youtube直播活动的聊天内容 )说:
这个API现在没有连接到实时聊天。 我们希望尽快将这些内容整合到API中。
我为此提出了一个基本脚本
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using System.Net; using System.IO; using System.Text.RegularExpressions; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; namespace test { public partial class Form1 : Form { public Form1() { InitializeComponent(); Starting(); } public void Starting() { IWebDriver driver = new ChromeDriver(); driver.Navigate().GoToUrl("https://www.youtube.com/watch?v=Yu5Om0SH3No"); Thread.Sleep(10000); //Find Comments IWebElement element = driver.FindElement(By.ClassName("comment-text")); Console.WriteLine("Text: " + element.Text); //Find User names IWebElement element2 = driver.FindElement(By.XPath(".//*[@class='g-hovercard yt-uix-sessionlink yt-user-name']")); Console.WriteLine("Username: " + element2.Text); } } }
将需要更多小时的工作,使其作为评论stream读取页面。
- 在应用程序中保存Youtubevideo到iPhone
- 在Chrome控制台中删除YouTube的iframe API控制台错误的方法 – “阻止源与框架…”
- 如何使用Youtube的新embedded代码风格自动播放video?
- 灯箱显示来自YouTube和Vimeo的video?
- YouTubevideo播放结束后的事件
- 如何从UIWebViewembedded的YouTubevideo播放接收NSNotifications
- 如何在YouTube中embeddedYouTubevideo?
- RegEx模式,从任何YouTubeurl获取YouTubevideoID
- YouTube Iframeembedded自动播放