如何为使用YouTube Data API v3上传的视频启用货币化?

如何为使用YouTube Data API v3上传的视频启用货币化?,youtube,youtube-api,Youtube,Youtube Api,我在YouTube上有一个经过验证的合作伙伴频道,我正在尝试为通过YouTube数据API(v3)上传的视频启用货币化 频道已经启用了货币化,我已经在频道设置中启用了货币化→ 默认设置(尽管我觉得这个页面只用于设置标准手动上传页面上的默认设置)。我查看了API参考资料,但根本找不到任何与货币化相关的内容 是否有其他方法可以通过任何方式自动将上传的新视频货币化,或者我可以通过某种方式在API中启用它?目前,数据API在上传新视频时似乎不遵守频道默认设置,但您可以使用内容ID API启用货币化(声明

我在YouTube上有一个经过验证的合作伙伴频道,我正在尝试为通过YouTube数据API(v3)上传的视频启用货币化

频道已经启用了货币化,我已经在频道设置中启用了货币化→ 默认设置(尽管我觉得这个页面只用于设置标准手动上传页面上的默认设置)。我查看了API参考资料,但根本找不到任何与货币化相关的内容


是否有其他方法可以通过任何方式自动将上传的新视频货币化,或者我可以通过某种方式在API中启用它?

目前,数据API在上传新视频时似乎不遵守频道默认设置,但您可以使用内容ID API启用货币化(声明所有权)。看这个例子


Tareq提供的链接是正确的,但不幸的是,它只显示了一些python代码,而没有显示使用HTTP的情况。既然我也想这么做,下面是我的想法和对我有效的方法。请再次注意,您需要访问ContentID API(投票获得此修复),这意味着您需要访问CMS帐户的所有者。令人困惑的是,存在着一个与成为“YouTube合作伙伴”无关的网站。您需要访问CMS帐户,例如,如果您正在运行多通道网络(MCN),则需要访问CMS帐户。此外,我得到的印象是,文档实际上隐藏得很好,因为即使我确切地知道我在寻找什么,我也总是很难再次找到文档页面

不管怎样:这里有一些东西:

1.创造资产 首先,您需要创建一个资产():

在响应正文中,您将发现:

{
  ...
  "id": "ASSET_ID"
  ...
}
保存资产ID以备以后使用

2.设定所有权 现在,我们告诉YouTube,我们独家拥有与该资产相关的所有资产,在全球范围内100%独家拥有():

请注意,这是一个PUT请求,而不是POST

3.使用货币化策略声明视频 现在,我们将视频、资产和策略相互连接起来()

现在,您的视频将根据某些政策进行货币化

你需要知道什么 在我的示例中,您当然需要替换我用大写字母留下的变量:

  • CONTENT\u OWNER\u ID:使用经过身份验证的调用
    GET查找您的IDhttps://www.googleapis.com/youtube/partner/v1/contentOwners?fetchMine=true
    ()
  • 资产ID:在创建资产调用的responseBody中返回
  • POLICY_ID:通过对
    GET的身份验证调用,找出您使用哪些ID的策略https://www.googleapis.com/youtube/partner/v1/policies?onBehalfOfContentOwner=CONTENT_OWNER_ID
    ()
对于所有请求,您都需要使用scope
https://www.googleapis.com/auth/youtubepartner

这只是应用货币化的一种方法和选项集。我展示的API端点有更多不同的选项。参考文档

另见
  • 投票赞成,以便默认的货币化政策也适用于通过API上传的视频
  • 投票支持,这样我们就可以在上传过程中指定货币化设置,而无需访问CMS帐户

是的,我想我已经接受了使用标准API是不可能的。我还没有看到内容ID API,但是它看起来很有趣,虽然它看起来只是针对YouTube合作伙伴的,而我的频道不是…啊,很抱歉,我以为你在YouTube上有一个合作伙伴帐户。内容ID API仅适用于合作伙伴…YouTube表示该频道在仪表板中是“经验证的合作伙伴”,但我认为这与“内容合作伙伴”不同;在任何情况下,我都不会看到相关的API,所以我想我必须等待它出现在数据API中。无论如何谢谢你!
{
  ...
  "id": "ASSET_ID"
  ...
}
PUT https://www.googleapis.com/youtube/partner/v1/assets/ASSET_ID/ownership?onBehalfOfContentOwner=CONTENT_OWNER_ID
Authorization: Bearer ...

{
  "general": {
    "owner": "CONTENT_OWNER_ID",
    "ratio": 100,
    "type": "exclude"
  }
}
POST https://www.googleapis.com/youtube/partner/v1/claims?onBehalfOfContentOwner=CONTENT_OWNER_ID
Authorization: Bearer ...

{
  "assetId": "ASSET_ID",
  "videoId": "VIDEO_ID",
  "policy": {
    "id": "POLICY_ID"
  },
  "contentType": "audiovisual"
}