YouTube get_video_info 引发限制错误

Posted

技术标签:

【中文标题】YouTube get_video_info 引发限制错误【英文标题】:YouTube get_video_info throws restriction error 【发布时间】:2017-12-24 17:22:06 【问题描述】:

我已经为 joomla 创建了(是的另一个)YouTube 播放器模块! 在模块后端中,我使用来自this answer 的代码来显示视频标题。不幸的是,对于大多数视频 ID,get_video_info 返回的只是嵌入的禁止文本,例如:“此视频包含来自 VEVO 的内容。它被限制在某些网站或应用程序上播放。在 YouTube 上观看”。

实际上,我从 videoinfo 获取信息并搜索标题或原因(如果存在),模块会在后端回显该值。 我的问题是 - 任何人都知道为什么 yt get_video_info 会抛出此错误,即使它仍然可以嵌入视频?

一个例子: 视频 ID Y1_VsyLAGuk

如果您尝试从以下位置获取视频信息: http://youtube.com/get_video_info?video_id=Y1_VsyLAGuk 你只会得到不可能的错误。

但该模块可以在同一主机上的嵌入式 youtube API v3 播放器中创建和播放视频。

if (isset($formID))
   $cleanedID = cleanUp($id);
   // Some Magic to get the Video Title, Thanks to Stack Overflow User Cruel for this nice Hint
   $content = file_get_contents("http://youtube.com/get_video_info?video_id=".$cleanedID);
   parse_str($content, $ytarr);
   
   if(array_key_exists('title', $ytarr))
      return '<div style="width:220px;"><h4>'.$ytarr['title'].'</h4><img style="border-radius:4px;" src="https://img.youtube.com/vi/'.$cleanedID.'/hqdefault.jpg"  /></div>';
					
      // Credits: https://***.com/a/5151862/4708062
   elseif(array_key_exists('reason', $ytarr))
      return '<div class="alert alert-danger" style="width:170px;"><p style="text-align:center">'.$ytarr['reason'].'</p></div><img style="border-radius:4px;" src="https://img.youtube.com/vi/'.$cleanedID.'/hqdefault.jpg"  />';
   else
         //print_r($ytarr);
		 return ;
   

【问题讨论】:

你找到解决办法了吗? 嗨 mehdok ->“是的”我使用 noembed 来进行视频标题检查,在这里查看我的 github 项目:github.com/marcorensch/nx-youtubebox/blob/master/models/fields/… 第 72 行附近: 【参考方案1】:

我有同样的问题,但不想使用外部网站,比如 noembed。 库 chojnicki/video-platforms-parser 解决了所有问题。

【讨论】:

【参考方案2】:

解决方法是使用 noembed.com 服务获取视频信息:

示例网址:“https://noembed.com/embed?url=https://www.youtube.com/watch?v=YXN_lNZZAZA”

【讨论】:

谢谢,你解决了我的问题

以上是关于YouTube get_video_info 引发限制错误的主要内容,如果未能解决你的问题,请参考以下文章

get_video_info YouTube 端点突然返回 404 未找到

如何获取 Youtube Vevo 视频的视频信息?

PHP curl函数制 exec_ch和get_headers

YouTube 是如何运作的?

Youtube API nextPageToken 变得无效

YouTube API v3 - 请求上传权限 - Android