我在YouTube上有一个经过验证的合作伙伴频道,我正在尝试为通过YouTube数据API(v3)上传的视频启用获利功能。
该频道已启用获利功能,我已在频道设置→默认设置中启用了获利功能(虽然我觉得此页面仅用于设置标准手动上传页面的默认设置)。我查看了API参考,但根本找不到与获利相关的任何内容。
是否有其他方法可以通过货币化方式自动上传新视频,或者我可以通过某种方式在API中启用它?
我在YouTube上有一个经过验证的合作伙伴频道,我正在尝试为通过YouTube数据API(v3)上传的视频启用获利功能。
该频道已启用获利功能,我已在频道设置→默认设置中启用了获利功能(虽然我觉得此页面仅用于设置标准手动上传页面的默认设置)。我查看了API参考,但根本找不到与获利相关的任何内容。
是否有其他方法可以通过货币化方式自动上传新视频,或者我可以通过某种方式在API中启用它?
Tareq提供的链接是正确的,但不幸的是它只显示了一些python代码而不是使用HTTP进行的操作。既然我想做同样的事情,这就是我想出来的,对我有用的东西。请再次注意,您需要访问ContentID API(投票支持 这张票 解决此问题)这意味着您需要访问CMS帐户的所有者。令人困惑的是存在一个 YouTube合作伙伴计划 这与“YouTube合作伙伴”无关。您需要访问CMS帐户,例如如果您正在运行多通道网络(MCN),则会出现这种情况。此外,我得到的印象是文档实际上非常隐蔽,因为即使我确切地知道我在寻找什么,我总是很难再次找到文档页面。
无论如何:这是东西:
首先,您需要创建资产(文档):
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%专属和全球(文档):
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!
现在我们将视频,资产和政策相互连接起来(文档)
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
(文档)对于所有请求,您需要使用范围进行身份验证 https://www.googleapis.com/auth/youtubepartner
这只是应用货币化的一种方式和选项。我展示的API端点有更多不同的选项。请参阅文档。
目前,在上传新视频时,Data API并不尊重频道默认设置,但您可以使用Content ID API启用获利功能(声明所有权)。看这个例子
https://developers.google.com/youtube/partner/upload_claim_sample
Tareq提供的链接是正确的,但不幸的是它只显示了一些python代码而不是使用HTTP进行的操作。既然我想做同样的事情,这就是我想出来的,对我有用的东西。请再次注意,您需要访问ContentID API(投票支持 这张票 解决此问题)这意味着您需要访问CMS帐户的所有者。令人困惑的是存在一个 YouTube合作伙伴计划 这与“YouTube合作伙伴”无关。您需要访问CMS帐户,例如如果您正在运行多通道网络(MCN),则会出现这种情况。此外,我得到的印象是文档实际上非常隐蔽,因为即使我确切地知道我在寻找什么,我总是很难再次找到文档页面。
无论如何:这是东西:
首先,您需要创建资产(文档):
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%专属和全球(文档):
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!
现在我们将视频,资产和政策相互连接起来(文档)
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
(文档)对于所有请求,您需要使用范围进行身份验证 https://www.googleapis.com/auth/youtubepartner
这只是应用货币化的一种方式和选项。我展示的API端点有更多不同的选项。请参阅文档。
目前,在上传新视频时,Data API并不尊重频道默认设置,但您可以使用Content ID API启用获利功能(声明所有权)。看这个例子
https://developers.google.com/youtube/partner/upload_claim_sample