【发布时间】:2021-03-13 01:16:37
【问题描述】:
我在我的网站中嵌入了一个 YouTube 视频,如下所示:
<iframe src="https://www.youtube.com/embed/C_JiP-j2FwM?autoplay=1&loop=1" frameborder="0" allowfullscreen width="100%" height="100%"></iframe>
它运行良好,但在我的工作计算机上,当我使用工作电子邮件登录 Google Chrome 时,我收到以下错误:
发生错误。请稍后再试。 (播放ID:TMjivVwHlyxtQxnL)Learn More
This is expected。这是因为我的工作电子邮件没有访问 YouTube 的权限。这是我尝试使用工作电子邮件访问它时遇到的错误:
根据 DOM Inspector / Network 选项卡对https://www.youtube.com/youtubei/v1/player?key=C_JiP-j2FwM 的请求正在返回此错误:
{
"error": {
"code": 403,
"message": "The caller does not have permission",
"errors": [
{
"message": "The caller does not have permission",
"domain": "global",
"reason": "forbidden"
}
],
"status": "PERMISSION_DENIED"
}
}
代码可以正常工作,因为我可以在隐身模式中正常播放嵌入的视频(因为在隐身模式下我没有登录工作电子邮件)。
这是完整的代码,因此人们可以重现“问题”并看到它很可能对他们很有用:https://jsfiddle.net/p3jz62uL/
我想做的是“捕捉”错误并在错误发生时更改行为。也许我会一起删除视频,或者我会用图像 idk 替换它。
【问题讨论】:
标签: javascript youtube youtube-api