如何为使用YouTube Data API v3上传的视频启用获利功能?

Rob*_*ert 12 youtube youtube-api

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

该频道已启用获利功能,我已在频道设置→默认设置中启用了获利功能(虽然我觉得此页面仅用于设置标准手动上传页面的默认设置).我查看了API参考,但根本找不到与获利相关的任何内容.

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

yan*_*kee 12

Tareq提供的链接是正确的,但不幸的是它只显示了一些python代码而不是使用HTTP进行的操作.既然我想做同样的事情,这就是我想出来的,对我有用的东西.请再次注意,您需要访问ContentID API(为此票证投票以解决此问题),这意味着您需要有权访问CMS帐户的所有者.令人困惑的是,有一个YouTube合作伙伴计划与"YouTube合作伙伴"无关.您需要访问CMS帐户,例如,如果您正在运行多渠道网络(MCN).另外我得到的印象是文档实际上非常隐蔽,因为即使我确切地知道我在寻找什么,我总是很难再次找到文档页面.

无论如何:这是东西:

1.创建资产

首先,您需要创建资产(docs):

POST https://www.googleapis.com/youtube/partner/v1/assets?onBehalfOfContentOwner=CONTENT_OWNER_ID
Authorization: Bearer ...

{
  "type": "web",
  "metadata": {
    "title": "some title, typically the same as the video title",
    "customId": "optional, but typically the same as the videoId"
  }
}
Run Code Online (Sandbox Code Playgroud)

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

{
  ...
  "id": "ASSET_ID"
  ...
}
Run Code Online (Sandbox Code Playgroud)

保存ASSET_ID以供日后使用.

2.设置所有权

现在我们告诉YouTube,我们完全拥有与资产相关的所有内容,100%专有和全球(docs):

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"
  }
}
Run Code Online (Sandbox Code Playgroud)

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

3.使用获利政策声明视频

现在我们将视频,资产和政策相互连接起来(docs)

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"
}
Run Code Online (Sandbox Code Playgroud)

现在,根据某些政策,您的视频应该会被货币化.

你需要知道什么

在我的例子中,你当然需要用大写字母替换我留在那里的变量:

  • CONTENT_OWNER_ID:使用和验证调用GET https://www.googleapis.com/youtube/partner/v1/contentOwners?fetchMine=true(docs)找出您的ID
  • ASSET_ID:在创建资产调用的responseBody中返回
  • POLICY_ID:通过对GET https://www.googleapis.com/youtube/partner/v1/policies?onBehalfOfContentOwner=CONTENT_OWNER_ID(docs)进行身份验证调用,了解您拥有哪些ID的政策

对于所有请求,您需要使用范围进行身份验证 https://www.googleapis.com/auth/youtubepartner

这只是应用货币化的一种方式和选项.我展示的API端点有更多不同的选项.请参阅文档.

也可以看看

  • 为此票证投票,以便默认的获利政策也适用于通过API上传的视频.
  • 为此票证投票,以便我们能够在上传期间指定获利设置,而无需访问CMS帐户


小智 5

目前似乎数据API在上传新视频时不尊重频道默认设置,但您可以使用Content ID API启用获利(声明所有权).看这个例子

https://developers.google.com/youtube/partner/upload_claim_sample