首页 > 解决方案 > Youtube API Statuscode 403“调用者没有权限”即使我有权限

问题描述

我使用 YouTube API 使用 cronjob 以每小时为基础设置视频缩略图。大多数时候它工作得很好——缩略图设置正确。但是一天中有几个小时我会收到以下回复:

  "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 的 PHP 示例 - OAuth: https ://developers.google.com/youtube/v3/docs/thumbnails/set?hl=en

这非常奇怪,因为每天几乎有 7 个小时不工作。如您在此处看到的,使用量低于 API 阈值:(红线是每天允许的最大查询数) 在此处输入图像描述

但最奇怪的部分是 - 如果我通过 YT 控制台检查 API 的使用情况,我可以清楚地看到某些东西不起作用。请参阅下表中的尖峰。每个尖峰的持续时间几乎完全相同。这正是我收到上述错误响应的时间范围。 在此处输入图像描述

我还应该指出,我在 YT 品牌帐户上使用了它。我尝试在具有新域、新身份验证令牌的新 VM 上进行设置 - 没有任何效果。让我发疯的是脚本每天运行大约 17 个小时,但随后突然出现错误消息。所以这对我来说没有意义。

标签: youtube-apiyoutube-data-api

解决方案


因此,经过几天的努力,我在 Google 团队的帮助下发现我达到了 API 团队未跟踪的配额。显然,这通常是 YouTube 的配额。

我的建议是 - 尝试通过 YouTube.com 视频管理器手动上传缩略图。我得到了正确的答复,我确实达到了该帐户的 YT 配额。

在我看来,带有“权限”的 YT API 的错误消息是错误的和误导性的。其次,我认为 YT API 不应该依赖于 YT 上传缩略图接口配额。或者至少应该显示您尝试设置缩略图的给定帐户的配额。

我还没有解决问题的方法。


推荐阅读