YouTube 嵌入 API:调用者没有权限

YouTube embed API: The caller does not have permission

我正在我的网站上嵌入一些 YouTube 视频。我一直收到一些投诉,说他们没有加载。我调查并注意到,在尝试播放它们时,我遇到了一些 403 Forbidden 错误:

查看 JSON 响应,我收到一些消息,通常说“调用者没有权限”。这是完整的 JSON 数据:

{
    "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"
    }
}

为什么会这样?我不认为我需要密钥或令牌来嵌入 YouTube 视频。这是什么原因?我的 IP 地址是否被 Google API 禁止?

作为参考,我尝试加载的视频 ID 是 Sq9kl3ybqY0

一个解决方法是用嵌入的 URL 替换 youtube 中的 URL。 例如。如果您使用了像 youtube.com/watch?v=VIDEO_ID 这样的 URL,那么将其替换为像 youtube.com/embed/VIDEO_ID

这样的嵌入 URL

通常,当您的嵌入最初处于隐藏状态时,会发生此错误。在这种情况下,只需添加 ?html5=1 即可嵌入 URL.