代码之家  ›  专栏  ›  技术社区  ›  kk64738

使用带有CMS帐户的YouTube Analytics API

  •  7
  • kk64738  · 技术社区  · 13 年前

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

    只是为了确认一下,CMS帐户和服务帐户是一样的吗?

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

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

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

    1 回复  |  直到 13 年前
        1
  •  11
  •   Jeff Posnick    13 年前

    YouTube内容管理系统帐户与 Service Account 。如果你作为服务帐户进行身份验证,你就不会使用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,您可以跳过该步骤,直接转到分析报告。

    要在被授权为CMS帐户的情况下在托管频道上运行频道级别报告,请制作 YouTube Analytics API request 具有以下参数: ids=contentOwner==CONTENT_OWNER_ID , filters=channel==UC... ,然后选择所需的任何其他报表参数。

    要运行视频级别报告,请设置 ids=内容所有者==内容_OWNER_ID filters=video==VIDEO_ID 哪里 VIDEO_ID 是CMS帐户管理的任何频道中的任何视频的id。

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