Tareq 提供的链接是正确的,但不幸的是它只显示了一些 python 代码,而不是使用 HTTP 发生的事情。因为我想做同样的事情,所以这就是我想出的和对我有用的。再次注意,您需要访问 ContentID API(投票给this ticket 以解决此问题),这意味着您需要访问 CMS 帐户的所有者。令人困惑的是,YouTube Partner Program 与成为“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"
}
}
在响应正文中,您会发现:
{
...
"id": "ASSET_ID"
...
}
保存 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"
}
}
请注意,这是一个 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"
}
现在您的视频将根据某些政策获利。
你需要知道的
在我的示例中,您当然需要用大写字母替换我留在其中的变量:
- 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 端点有更多不同的选项。请参阅文档。
另见