如何解决最近将YouTube API更改为将多个视频嵌入动态播放列表中?
去年,我一直在使用PHP脚本从一小部分视频中构建播放列表。 它将为所选视频构建自定义播放列表,并通过API呈现一组播放列表控件。截至昨天这个时候,它正在工作,现在却没有。
以下是已损坏的代码段:
$result = "<iframe width=\"720\" height=\"405\" src=\"https://www.youtube.com/embed/?playlist=";
$last = count($playlist) -1;
for ($k=0; $k < count($playlist); $k++){
if ($k < $last){
$result = $result . $playlist[$k]['videoid'] . ",";
} else {
$result = $result . $playlist[$k]['videoid'] . "&controls=1\" frameborder=\"0\" allowfullscreen></iframe>";
}
我得到以下错误,而不是嵌入播放选择列表:
发生错误。请稍后再试。 (播放ID:jBLBkfJOl8-X0sct)
到2020年8月31日,API中发生了什么变化? 我找不到任何专门关于在API中构建自定义播放列表的文档或信息。我不想搜索现有的播放列表,而是想基于为观看而培养的视频链接来构建播放列表。
我从this stackoverflow answer修改了我的解决方案
解决方法
我悬赏这个问题,因为我遇到了同样的问题,我忙于其他事情,并且没有时间尝试在使用此问题的个人项目上调试此问题。
仍不完全确定是什么导致了此突然中断,因为我仍然没有看到youtube更改其api的任何通知,但这在使用Google产品api时并不罕见。
这个问题的简短答案是,您现在需要在播放列表查询字符串之前插入一个初始视频ID。
因此,嵌入代码现在需要如下所示:
<iframe id="ytplayer" type="text/html" width="720" height="405"
src="https://www.youtube.com/embed/Yc4VO8yzYcU?playlist=Y8R4Wvw7wlg,hz2HIKsQfIw,0UbCOpRye5c&playsinline=1"
frameborder="0" allowfullscreen>
,
仅供参考:Google似乎已经更新了如何显示频道播放列表,以显示最新的视频:https://support.google.com/youtube/answer/171780?hl=en
示例嵌入代码现在需要在“ embed /”之后和“?list”之前包含“ videoseries”:
<iframe width="560" height="315" src="https://www.youtube.com/embed/videoseries?list=PLx0sYbCqOb8TBPRdmBHs5Iftvv9TPboYG" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。