带有播放列表参数的 YouTube 嵌入 url 除了第一次加载外不起作用
YouTube embed url with playlist parameter doesn't work except on the first load
我在播放列表参数中包含大量视频 ID 的 YouTube 嵌入 url 时遇到了问题。例如:https://www.youtube.com/embed/VIDEOID1?playlist=VIDEOID2,VIDEOID3,...,VIDEOID20
第一次加载时,它可以运行,但如果我刷新,它会显示“此视频不可用”。然后我在其他浏览器和另一台计算机上尝试,并立即得到同样的错误。等了几天再试一次,成功了一次,然后又报错。更改列表中的视频也有相同的效果:对于每个唯一列表,它工作一次然后出错。只有当视频数量较多时才会发生这种情况。
深入研究 html 响应并比较有效时间和无效时间,我发现页面上的 JS 中有一个 PLAYER_VARS 对象,它在工作时包含一个“列表”属性,但在发生错误时缺少 属性。我还发现“列表”属性 的值可以用作嵌入 url(“列表”查询字符串参数)的查询字符串参数,并且始终如一地工作。
这是一个已知错误吗and/or有没有办法解决它?证据似乎表明 YouTube 端存在某种服务器端缓存问题。
这个问题的原因原来是播放列表中包含了几个标记为私有的视频。
我在播放列表参数中包含大量视频 ID 的 YouTube 嵌入 url 时遇到了问题。例如:https://www.youtube.com/embed/VIDEOID1?playlist=VIDEOID2,VIDEOID3,...,VIDEOID20
第一次加载时,它可以运行,但如果我刷新,它会显示“此视频不可用”。然后我在其他浏览器和另一台计算机上尝试,并立即得到同样的错误。等了几天再试一次,成功了一次,然后又报错。更改列表中的视频也有相同的效果:对于每个唯一列表,它工作一次然后出错。只有当视频数量较多时才会发生这种情况。
深入研究 html 响应并比较有效时间和无效时间,我发现页面上的 JS 中有一个 PLAYER_VARS 对象,它在工作时包含一个“列表”属性,但在发生错误时缺少 属性。我还发现“列表”属性 的值可以用作嵌入 url(“列表”查询字符串参数)的查询字符串参数,并且始终如一地工作。
这是一个已知错误吗and/or有没有办法解决它?证据似乎表明 YouTube 端存在某种服务器端缓存问题。
这个问题的原因原来是播放列表中包含了几个标记为私有的视频。