Channels: update

该 API 现在支持将您的频道视频标记为“面向儿童的内容”。此外,channelvideo 资源现在还包含一个属性,用于标识相应频道或视频的“面向儿童的内容”状态。YouTube API 服务的《服务条款》和《开发者政策》也于 2020 年 1 月 10 日更新。如需了解详情,请参阅 YouTube Data API 服务的修订历史记录和 YouTube API 服务的服务条款

更新频道的元数据。请注意,此方法仅支持对 channel 资源的 brandingSettingsinvideoPromotionlocalizations 对象及其子属性进行更新。

配额影响:对此方法的调用会产生 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 string
在本操作中,part 参数有两个用途。它用于标识写入操作将设置的属性以及 API 响应将包含的属性。

该 API 仅允许将参数值设置为 brandingSettingsinvideoPromotionlocalizations。(您只能通过单个请求更新其中的任一部分。)

请注意,此方法会替换参数值指定的部分中包含的所有可变属性的现有值。
可选参数
onBehalfOfContentOwner string
此参数只能在经过适当授权的请求中使用。

onBehalfOfContentOwner 参数表示经过身份验证的用户代表参数值中指定的内容所有者行事。此参数适用于拥有和管理许多不同 YouTube 频道的 YouTube 内容合作伙伴。借助此功能,内容所有者只需进行一次身份验证,即可访问其所有视频和频道数据,而无需为每个频道分别提供身份验证凭据。用户进行身份验证时使用的实际 CMS 账号需要与指定的 YouTube 内容所有者相关联。

请求正文

在请求正文中提供 channel 资源。 对于该资源:

  • 您必须为以下属性指定值:

    • id
  • 您可以为以下属性设置值:

    • brandingSettings.channel.country
    • brandingSettings.channel.description
    • brandingSettings.channel.defaultLanguage
    • brandingSettings.channel.keywords
    • brandingSettings.channel.trackingAnalyticsAccountId
    • brandingSettings.channel.unsubscribedTrailer
    • localizations.(key)
    • localizations.(key).title
    • localizations.(key).description
    • status.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 本地化对象中的某个值未通过验证。使用 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 请求和响应。