该 API 现在支持将您的 频道或
视频标记为“面向儿童的内容”。此外,
channel
和 video 资源现在还包含一个属性,用于标识相应频道或视频的“面向儿童的内容”
状态。YouTube API 服务条款和开发者政策
也已于 2020 年 1 月 10 日更新。如需了解详情,请参阅
YouTube Data API 服务和
YouTube API 服务条款的修订历史记录。
更新频道的元数据。请注意,此方法仅支持更新 channel 资源的 brandingSettings、invideoPromotion 和 localizations 对象及其子属性。
配额影响: 调用此方法会消耗 50 个配额单位。
常见应用场景
请求
HTTP 请求
PUT https://www.googleapis.com/youtube/v3/channels
授权
此请求需要使用至少以下其中一个范围进行授权。如需详细了解身份验证和授权,请参阅实现 OAuth 2.0 授权。
| 范围 |
|---|
https://www.googleapis.com/auth/youtubepartner |
https://www.googleapis.com/auth/youtube |
https://www.googleapis.com/auth/youtube.force-ssl |
参数
下表列出了此查询支持的参数。列出的所有参数都是查询参数。
| 参数 | ||
|---|---|---|
| 必需参数 | ||
part |
stringpart 参数在此操作中具有两个用途。它用于标识写入操作将设置的属性,以及 API 响应将包含的属性。API 仅允许将参数值设置为 brandingSettings、invideoPromotion 或 localizations。(您只能通过单个请求更新其中任何一个部分。)请注意,此方法会替换参数值指定的部分中包含的所有可变属性的现有值。 |
|
| 可选参数 | ||
onBehalfOfContentOwner |
string此参数只能在经过适当授权的请求中使用。 onBehalfOfContentOwner 参数表示经过身份验证的用户代表参数值中指定的内容所有者行事。此参数适用于拥有和管理许多不同 YouTube 频道的 YouTube 内容合作伙伴。它允许内容所有者进行一次身份验证,即可访问其所有视频和频道数据,而无需为每个频道提供身份验证凭据。用户进行身份验证时使用的实际内容管理系统 (CMS) 账号需要与指定的 YouTube 内容所有者相关联。如果请求使用代表受管理频道行事的 CMS 内容所有者用户的凭据进行身份验证,则必须提供此参数。如果省略此参数,请求将在经过身份验证的用户的直接上下文中执行,并返回 HTTP 403 Forbidden 错误。 |
|
请求正文
在请求正文中提供 channel 资源。
对于该资源:
-
您必须为以下属性指定值:
id
-
您可以为以下属性设置值:
brandingSettings.channel.countrybrandingSettings.channel.descriptionbrandingSettings.channel.defaultLanguagebrandingSettings.channel.keywordsbrandingSettings.channel.trackingAnalyticsAccountIdbrandingSettings.channel.unsubscribedTrailerlocalizations.(key)localizations.(key).titlelocalizations.(key).descriptionstatus.selfDeclaredMadeForKids
如果您提交的是更新请求,并且您的请求未为已具有值的属性指定值,则该属性的现有值将被删除。
响应
如果成功,此方法会在响应正文中返回 channel 资源。
错误
下表列出了 API 在响应对此方法的调用时可能会返回的出错提示。如需了解详情,请参阅 YouTube Data API - 错误。
| 错误类型 | 错误详情 | 说明 |
|---|---|---|
badRequest (400) |
brandingValidationError |
brandingSettings 对象中的某个值未能通过验证。使用 channels.list 方法检索频道的现有设置,并按照 channels 资源文档中的指南更新属性值。 |
badRequest (400) |
channelTitleUpdateForbidden |
更新频道的 brandingSettings part 时,您必须将 brandingSettings.channel.title 属性的值设置为频道的当前标题,或省略该属性。如果您更改该属性的值,API 会返回错误。 |
badRequest (400) |
defaultLanguageNotSetError |
必须设置 defaultLanguage 才能更新 localizations。 |
badRequest (400) |
invalidBrandingOption |
您指定的某个品牌设置不存在。使用 channels.list 方法检索有效值,并务必按照 channels 资源文档中的指南更新这些值。 |
badRequest (400) |
invalidCustomMessage |
请求元数据指定了无效的自定义消息。检查请求发送的资源中 invideoPromotion.items[].customMessage 属性的值。 |
badRequest (400) |
invalidDuration |
请求元数据在 invideoPromotion 部分中指定了无效的时长。 |
badRequest (400) |
invalidDuration |
请求元数据指定了无效的位置类型,用于确定在视频播放器中如何定位宣传的商品。检查请求发送的资源中 invideoPromotion.position.type 属性的值。 |
badRequest (400) |
invalidRecentlyUploadedBy |
请求元数据指定了无效的频道 ID。检查请求发送的资源中 invideoPromotion.items[].id.recentlyUploadedBy 属性的值。 |
badRequest (400) |
invalidTimingOffset |
请求元数据在 invideoPromotion 部分中指定了无效的时间偏移值。 |
badRequest (400) |
invalidTimingOffset |
请求元数据指定了无效的时间偏移值,用于确定应在视频播放器中显示宣传的商品的时间。检查请求发送的资源中 invideoPromotion.timing.offsetMs 属性的值。 |
badRequest (400) |
invalidTimingType |
请求元数据指定了无效的时间方法,用于确定应在视频播放器中显示宣传的商品的时间。检查请求发送的资源中 invideoPromotion.timing.type 属性的值。 |
badRequest (400) |
localizationValidationError |
localizations 对象中的某个值未能通过验证。使用 channels.list 方法检索有效值,并务必按照 频道资源文档中的指南更新这些值。 |
badRequest (400) |
tooManyPromotedItems |
invideoPromotion 部分中宣传的商品数量超出了允许的上限。 |
forbidden (403) |
channelForbidden |
id 参数中指定的频道不支持该请求,或者该请求未获得适当授权。 |
forbidden (403) |
promotedVideoNotAllowed |
找不到 API 请求尝试更新的频道。检查请求发送的 channel 资源中 id 属性的值,确保频道 ID 正确无误。 |
forbidden (403) |
websiteLinkNotAllowed |
不允许使用指定的网站网址。 |
notFound (404) |
channelNotFound |
找不到 id 参数中指定的频道。 |
notFound (404) |
channelNotFound |
找不到 id 参数指定的频道,或者该频道没有品牌宣传选项。 |
notFound (404) |
unknownChannelId |
找不到指定的频道 ID。 |
notFound (404) |
unknownChannelId |
找不到指定的 recentlyUploadedBy 频道 ID。 |
notFound (404) |
unknownVideoId |
找不到指定为宣传商品的视频 ID。 |
required (400) |
requiredItemIdType |
请求元数据必须在 invideoPromotion 部分中指定商品种类。 |
required (400) |
requiredItemId |
请求元数据必须在 invideoPromotion 部分中指定商品 ID。 |
required (400) |
requiredTimingOffset |
请求元数据必须指定默认时间偏移值,以便 YouTube 确定何时显示宣传的商品。在请求发送的资源中设置 invideoPromotion.defaultTiming.offsetMs 属性的值。 |
required (400) |
requiredTimingOffset |
请求元数据必须指定时间偏移值,以便 YouTube 确定何时显示宣传的商品。在请求发送的资源中设置 invideoPromotion.timing.offsetMs 属性的值。 |
required (400) |
requiredTimingType |
请求元数据必须指定时间方法,以便 YouTube 确定何时显示宣传的商品。在请求发送的资源中设置 invideoPromotion.defaultTiming.type 属性的值。 |
required (400) |
requiredTimingType |
请求元数据必须指定时间方法,以便 YouTube 确定何时显示宣传的商品。在请求发送的资源中设置 invideoPromotion.timing.type 属性的值。 |
required (400) |
requiredTiming |
请求元数据必须为 invideoPromotion 部分中的每个商品指定时间。 |
required (400) |
requiredVideoId |
请求元数据必须指定视频 ID,以标识宣传的商品。 |
required (400) |
requiredWebsiteUrl |
请求元数据必须在 invideoPromotion 部分中指定网站网址。在请求发送的资源中设置 invideoPromotion.items[].id.websiteUrl 属性的值。 |
试试看!
使用 APIs Explorer 调用此 API,查看 API 请求和响应。