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

授权

此请求需要获得以下至少一个范围的授权(详细了解身份验证和授权)。

范围
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 内容所有者相关联。

请求正文

在请求正文中提供渠道资源。 针对该资源:

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

    • 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

    如果您要提交更新请求,但您的请求没有为已经包含某个值的属性值指定值,则该属性的现有值将被删除。

响应

如果成功,此方法将在响应正文中返回频道资源

错误

下表列出了 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 方法检索有效值,并确保按照 Channels 资源文档中的准则更新这些值。
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 未找到指定的 currentUploadedBy 频道 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 请求和响应。