Channels: update

该 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 string
part 参数在此操作中具有两个用途。它用于标识写入操作将设置的属性,以及 API 响应将包含的属性。

API 仅允许将参数值设置为 brandingSettings、invideoPromotion 或 localizations。(您只能通过单个请求更新其中任何一个部分。)

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

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

如果请求使用代表受管理频道行事的 CMS 内容所有者用户的凭据进行身份验证,则必须提供此参数。如果省略此参数,请求将在经过身份验证的用户的直接上下文中执行,并返回 HTTP 403 Forbidden 错误。

请求正文

在请求正文中提供 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 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 请求和响应。