我在YouTube上有经过验证的合作伙伴频道,我正在尝试为通过YouTube数据API(v3)上传的视频启用获利功能。
该频道已启用获利功能,我已在频道设置→默认设置中启用了获利功能(虽然我觉得此页面仅用于设置标准手动上传页面的默认设置)。我查看了API参考,但根本找不到与获利相关的任何内容。
是否有其他方法可以通过任何方式自动上传新视频,或者我可以通过某种方式在API中启用它?
答案 0 :(得分:12)
Tareq提供的链接是正确的,但不幸的是它只显示了一些python代码,而不是使用HTTP进行的操作。既然我想做同样的事情,这就是我想出来的,对我有用的东西。请再次注意,您需要访问ContentID API(投票支持this ticket才能解决此问题),这意味着您需要有权访问CMS帐户的所有者。令人困惑的是,YouTube Partner Program与“YouTube合作伙伴”无关。您需要访问CMS帐户,例如如果您正在运行多通道网络(MCN)的情况。另外我得到的印象是文档实际上已经很好地隐藏了,因为即使我确切地知道我在寻找什么,我也总是很难再找到文档页面。
无论如何:这是其中的东西:
首先,您需要创建资产(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"
}
}
在回复正文中,您会找到:
{
...
"id": "ASSET_ID"
...
}
保存ASSET_ID以供日后使用。
现在我们告诉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"
}
}
请注意,这是PUT请求,而不是POST!
现在我们将视频,资产和相互关联的政策(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"
}
现在,您的视频应根据某些政策获利。
在我的例子中,你当然需要用大写字母替换我留在那里的变量:
GET https://www.googleapis.com/youtube/partner/v1/contentOwners?fetchMine=true
GET https://www.googleapis.com/youtube/partner/v1/policies?onBehalfOfContentOwner=CONTENT_OWNER_ID
(docs){/ li>查询您的ID
https://www.googleapis.com/auth/youtubepartner
(docs)对于所有请求,您需要使用范围changeUser
这只是应用货币化的一种方式和选项。我展示的API端点有更多不同的选项。请参阅文档。
答案 1 :(得分:5)
目前似乎数据API在上传新视频时不尊重频道默认设置,但您可以使用Content ID API启用获利(声明所有权)。见这个例子
https://developers.google.com/youtube/partner/upload_claim_sample