将YouTube Analytics API与CMS帐户配合使用

时间:2013-03-21 17:22:39

标签: youtube-api analytics youtube-analytics

尝试使用CMS帐户获取youtube analytics api数据时出现403 Forbidden错误。

要确认一下,CMS帐户与服务帐户是一样的吗?

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

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

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

1 个答案:

答案 0 :(得分:10)

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

最近很多内容已投入生产,所以让我在此处列出完整的步骤,说明使用YouTube CMS访问权限的用户如何根据他们管理的频道和视频运行YouTube Analytics API报告。

(可选)使用OAuth 2授权CMS帐户同时使用https://www.googleapis.com/auth/youtube.readonlyhttps://www.googleapis.com/auth/youtubepartner范围,使用以下参数进行YouTube Data API v3 channels.list()调用:{ {1}},part=snippet,contentDetailsmanagedByMe=truemaxResults=50onBehalfOfContentOwner=CONTENT_OWNER_ID是您必须在此处进行硬编码的值,并且应将其设置为您的YouTube CMS帐户的“合作伙伴代码”。这将为您提供CMS帐户管理的最多50个频道的列表。 (如果您需要超过50个,则需要翻阅结果。)每个频道的ID将在channel.id中返回,以及其他有用信息(如上传列表ID,如果您想获取)该频道中的视频列表也将被退回。

如果您已经知道要为其生成报告的频道的CONTENT_OWNER_ID频道ID,则可以跳过该步骤并直接转到Google Analytics报告。

要在托管渠道上投放渠道级报告,同时授权为CMS帐户,请使用以下参数创建YouTube Analytics API requestUC...ids=contentOwner==CONTENT_OWNER_ID,然后填写任何其他报告您想要的参数。

要运行视频级报告,请设置filters=channel==UC...ids=contentOwner==CONTENT_OWNER_ID,其中filters=video==VIDEO_ID是CMS帐户管理的任何频道中任意视频的ID。

有关内容所有者报告的详细信息in the docs