【问题标题】:Using the YouTube Analytics API with a CMS account通过 CMS 帐户使用 YouTube Analytics API
【发布时间】:2013-03-11 08:25:48
【问题描述】:

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

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

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

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

看来,由于我可以使用该帐户通过 CMS UI 获取这些渠道的所有分析数据,因此我应该能够使用 API 做同样的事情。

【问题讨论】:

    标签: youtube-api analytics youtube-analytics


    【解决方案1】:

    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 数据 API v3 channels.list() 调用:part=snippet,contentDetailsmanagedByMe=truemaxResults=50onBehalfOfContentOwner=CONTENT_OWNER_IDCONTENT_OWNER_ID 是您必须在此处硬编码的一个值,它应该设置为您的 YouTube CMS 帐户的“合作伙伴代码”。这将为您提供您的 CMS 帐户管理的最多 50 个频道的列表。 (如果需要超过 50 个,则需要翻页。)每个频道的 id 将在channel.id 中返回,以及其他有用的信息(如上传列表 id,如果您想获取列表该频道中的视频)也将返回。

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

    要在受管频道上运行频道级报告,同时被授权为 CMS 帐户,请使用以下参数创建 YouTube Analytics API requestids=contentOwner==CONTENT_OWNER_IDfilters=channel==UC...,然后是您想要的任何其他报告参数。

    要生成视频级报告,请设置 ids=contentOwner==CONTENT_OWNER_IDfilters=video==VIDEO_ID,其中 VIDEO_ID 是 CMS 帐户管理的任何频道中的任何视频的 ID。

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

    【讨论】:

    • 杰夫,非常感谢您澄清 CMS 与服务帐户问题以及将分析 API 查询为 CMS 帐户的所有详细信息。这对我有很大帮助。
    • Jeff,刚刚在这里发布了一个后续问题:(stackoverflow.com/q/15822889/2194129) 如果您有任何想法,非常感谢?
    猜你喜欢
    • 2014-06-13
    • 2022-10-19
    • 1970-01-01
    • 2014-04-21
    • 1970-01-01
    • 2013-09-05
    • 2012-10-10
    • 1970-01-01
    • 2015-03-22
    相关资源
    最近更新 更多