使用 Google 的 API 时如何找出缺少哪些权限?

How do I find out what permissions are missing when using Google's API?

我有一个应用程序正在与 Google 的合作伙伴 API 通信以查找 CMS 的合作渠道。它使用具有以下参数的端点 https://developers.google.com/youtube/v3/docs/channels/listGET https://www.googleapis.com/youtube/v3/channels?part=snippet&managedByMe=true&onBehalfOfContentOwner=DMDMbFBm4dizhtG4fvNILQ&key={YOUR_API_KEY}

但是,它给了我一个通用的 403 返回:

{
 "error": {
  "errors": [
   {
    "domain": "youtube.channel",
    "reason": "channelForbidden",
    "message": "Forbidden",
    "locationType": "parameter",
    "location": "id"
   }
  ],
  "code": 403,
  "message": "Forbidden"
 }
}

有什么方法可以调试实际缺少的内容吗?是否缺少范围,或者我的帐户与内容所有者的连接有问题?我可以使用此端点成功检索内容所有者列表:

GET https://www.googleapis.com/youtube/partner/v1/contentOwners?fetchMine=true&key={YOUR_API_KEY}

所以连接应该没问题。我正在使用的是文档中推荐的范围,所以我只能用 403 来解决问题,没有任何额外的信息可以继续。还有什么问题?

原来是 CMS 本身缺少权限/"features"。要检索频道,您需要在您所属的角色上设置 "channels" 功能。