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_ID
。CONTENT_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_ID
和filters=video==VIDEO_ID
,其中VIDEO_ID
CMS 帐户管理的任何频道中的任何视频的 id。
文档中有更多关于内容所有者报告的详细信息。