7

尝试使用 CMS 帐户获取 youtube 分析 api 数据时,我收到 403 Forbidden 错误。

只是为了确认一下,CMS 帐户与服务帐户是一回事吗?

我可以获取 oauth2 用户拥有的频道的分析数据,但我可以通过我的 CMS 帐户访问但不是其内容所有者的任何其他频道上的 403。(我在 CMS 帐户上具有管理员帐户级别,并且我收到 403 错误的频道具有“托管”关系)

问题:是否有计划让 youtube.analytics api 支持查询在 CMS 帐户下管理的频道?

似乎因为我可以使用该帐户使用 CMS UI 获取这些渠道的所有分析数据,所以我应该能够使用 API 执行相同的操作。

4

1 回答 1

11

YouTube 内容管理系统帐户与服务帐户不同。如果您作为服务帐户进行身份验证,您将无法使用 YouTube API,因为该服务帐户将无法访问任何实际的 YouTube 频道。但是,作为 CMS 帐户进行身份验证将为您提供所需的内容。

其中很多内容最近都投入了生产,所以让我在这里列出完整的步骤,解释拥有 YouTube CMS 访问权限的人如何针对他们管理的频道和视频运行 YouTube Analytics API 报告。

(可选)通过 OAuth 2 授权作为 CMS 帐户,同时使用https://www.googleapis.com/auth/youtube.readonly和范围,使用以下参数https://www.googleapis.com/auth/youtubepartner进行 YouTube 数据 API v3 channels.list()part=snippet,contentDetails调用: , managedByMe=true, maxResults=50, onBehalfOfContentOwner=CONTENT_OWNER_IDCONTENT_OWNER_ID是您必须在此处硬编码的一个值,它应该设置为您的 YouTube CMS 帐户的“合作伙伴代码”。这将为您提供您的 CMS 帐户管理的最多 50 个频道的列表。(如果您需要超过 50 个,则需要对结果进行分页。)每个频道的 id 将在channel.id中返回,以及其他有用的信息(如上传列表 id,如果您想获取列表该频道中的视频)也将返回。

如果您已经知道UC...要针对其运行报告的频道的频道 ID,则可以跳过该步骤并直接转到 Analytics 报告。

要在受管频道上运行频道级报告,同时获得 CMS 帐户的授权,请使用以下参数发出 YouTube Analytics API 请求ids=contentOwner==CONTENT_OWNER_ID: 、filters=channel==UC...,然后是您想要的任何其他报告参数。

要运行视频级报告,请设置ids=contentOwner==CONTENT_OWNER_IDfilters=video==VIDEO_ID,其中VIDEO_IDCMS 帐户管理的任何频道中的任何视频的 id。

文档中有更多关于内容所有者报告的详细信息。

于 2013-03-27T20:41:31.743 回答