如何避免YouTube V3 API中的cmsUserAccountNotFound?

时间:2017-01-30 20:00:59

标签: youtube youtube-api youtube-data-api

我有登录凭据,可以管理多个YouTube频道。还有一个内容所有者帐户,可以通过YT的CMS控制这些渠道。

我正在尝试将视频上传到特定频道。根据我的理解,这需要OnBehalfOfContentOwner和OnBehalfOfContentOwnerChannel标志。我从网址' o'中获取了内容所有者ID。参数(如在https://www.youtube.com/my_channels?o=[id]中),以及通过类似方式的通道ID。但是,当我使用这个OnBehalfOfContentOwner ID调用API时,我得到了一个cmsUserAccountNotFound。当我使用具有相同OnBehalfOfContentOwner ID的YT docs网站上的Channels:list API时,也会发生这种情况。

有没有人遇到过这个问题?我应该确保我的用户有哪些凭据以防止这种情况?

我找到了一种解决方法,我为每个频道创建了单独的请求令牌,但我希望能够动态选择上传频道。

1 个答案:

答案 0 :(得分:1)

这是您根据Youtube Core API errors获得的错误:

  

forbidden(403)cmsUserAccountNotFound不允许CMS用户   代表指定的内容所有者行事。

我建议你尝试的事情:

  1. Videos.list下,请确保:
  2.   

    “必须将用户进行身份验证的CMS帐户链接到   指定的YouTube内容所有者。“

    完整陈述here

      

    “必须将CMS帐户链接到内容所有者   onBehalfOfContentOwner参数指定。参数表示   请求的授权凭据标识YouTube CMS   代表在中指定的内容所有者行事的用户   参数值。

         

    用户进行身份验证的CMS帐户必须   与指定的YouTube内容所有者相关联。这个参数是   适用于拥有和管理许多不同内容的内容合作伙伴   YouTube频道。该参数允许这些合作伙伴进行身份验证   一次,无需访问所有视频和频道数据   必须为每个人提供身份验证凭据   渠道。特别是关于这个版本,参数现在   使内容合作伙伴能够插入,更新或删除任何视频   合作伙伴拥有的YouTube频道。“

    1. 检查this SO thread以获取更多信息。