在移动设备上获取YouTube Live嵌入式聊天功能

时间:2018-05-26 20:40:44

标签: javascript php html youtube youtube-livestreaming-api

使用

在桌面上进行YouTube直播聊天
<iframe src="https://youtube.com/live_chat?v=[LIVE VIDEO ID]"></iframe>

但是,它不会出现在使用相同代码的移动设备上。

我已将问题缩小到似乎是用户代理问题。在桌面上使用Chrome测试网站的移动版本时(检查元素&gt;手机图标&gt; iphonex&gt;刷新),它仍然无法显示。但是当我在chromes iPhone(检查元素编辑)版本上更改用户代理并刷新时,它会显示(检查元素&gt;网络条件&gt;用户代理)。

要备份,这个关于User-Agent的声明,我在互联网上找到的关于这个(找到Here)的唯一其他线程谈论它如何为他修复它(或者可能不是?)。当我尝试实施他的解决方案时,我没有得到任何结果。

我现在尝试使用PHP和JavaScript更改用户代理,他们都没有使用iPhone的Safari或谷歌Chrome iPhone(检查元素)。

我也尝试用PHP重新创建嵌入,但是失败了多个404错误。

这很奇怪,因为当我通过inspect element-ed版本更改User-Agent时,它可以工作。

我尝试用

更改JavaScript中的User-Agent
//First Try
Object.defineProperty(navigator, 'userAgent', {
get: function () { return 'Mozilla/5.0 (Windows NT 6.2; WOW64; 
rv:28.0) Gecko/20100101 Firefox/28.0)'; }});

//Second Try
navigator.__defineGetter__('userAgent', function () {
return "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0)"});

//Third Try
var xhr = new XMLHttpRequest(...);
xhr.setRequestHeader("User-Agent","test");

我尝试用PHP改变它

ini_set('user_agent', 'MyBrowser v42.0.4711');

这让我相信我在所有这些方面都设置错了,还有一个我忘记的因素,或者移动设备无法支持它。

但是,如果手机无法设置它,它会显示一条消息。在PHP中设置User-Agent时,没有任何反应,直到我请求桌面网站给我一条消息

Your browser is too old to use livechat

不确定它是不是,或者它只是用户代理。

我愿意使用YouTubeLivestreamingChat API,但我无法弄清楚如何使用它(特别是部分是什么)。我也对PHP或JavaScript的解决方案持开放态度。

1 个答案:

答案 0 :(得分:0)

你必须使用curl和一些解析器制作php代理。看看我的示例页面。它适用于所有设备。我还在努力。我只能获得聊天流。但我会在聊天中写一个解决方案来写消息。

http://youtube.rivda.net/live_chat?v=RtU_mdL2vBM