ChannelSections: insert

将频道部分添加到经过身份验证的用户的频道。一个渠道最多可以创建 10 个书架。

配额影响:调用此方法的配额费用为 50 个单位。

常见使用场景

请求

HTTP 请求

POST https://www.googleapis.com/youtube/v3/channelSections

授权

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

范围
https://www.googleapis.com/auth/youtubepartner
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

参数

下表列出了此查询支持的参数。列出的所有参数都是查询参数。

参数
必需参数
part string
part 参数在此操作中有两个目的。它标识了写入操作将设置的属性以及 API 响应将包含的属性。

以下列表包含您可以在参数值中包含的 part 名称:
  • contentDetails
  • id
  • snippet
可选参数
onBehalfOfContentOwner string
此参数只能在正确的授权请求中使用。注意:此参数专供 YouTube 内容合作伙伴使用。

onBehalfOfContentOwner 参数表示请求的授权凭据用于标识代表参数值中指定的内容所有者执行操作的 YouTube CMS 用户。此参数适用于拥有和管理许多不同 YouTube 频道的 YouTube 内容合作伙伴。内容所有者只需进行一次身份验证,即可访问自己所有的视频和频道数据,而无需为每个频道提供身份验证凭据。用户身份验证所用的 CMS 帐号必须与指定的 YouTube 内容所有者相关联。
onBehalfOfContentOwnerChannel string
此参数只能在正确的授权请求中使用。注意:此参数仅适用于 YouTube 内容合作伙伴。

onBehalfOfContentOwnerChannel 参数用于指定要添加视频的频道的 YouTube 频道 ID。当请求为 onBehalfOfContentOwner 参数指定值时,必须提供此参数,并且该参数只能与该参数结合使用。此外,必须使用与 onBehalfOfContentOwner 参数指定的内容所有者相关联的 CMS 帐号对请求进行授权。最后,onBehalfOfContentOwnerChannel 参数值指定的频道必须与 onBehalfOfContentOwner 参数指定的内容所有者相关联。

此参数适用于拥有和管理许多不同 YouTube 频道的 YouTube 内容合作伙伴。使用 Content ID,内容所有者只需进行一次身份验证,即可代表参数值中指定的频道执行操作,而无需为每个单独的频道提供身份验证凭据。

请求正文

在请求正文中提供 channelSection 资源。对于相应资源:

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

    • snippet.type

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

    • snippet.type
    • snippet.title
    • snippet.position
    • contentDetails.playlists[]
    • contentDetails.channels[]

响应

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

错误

下表列出了该 API 为响应对此方法的调用可能返回的错误消息。如需了解详情,请参阅错误消息文档。

错误类型 错误详情 说明
badRequest (400) notEditable 无法创建此频道版块。
badRequest (400) typeRequired channelSection 资源必须指定 snippet.type 字段的值。
forbidden (403) channelSectionForbidden 此请求未正确进行身份验证,或此渠道不支持该请求。
invalidValue (400) channelNotActive 至少有一个指定的渠道无效。
invalidValue (400) channelsDuplicated 由于指定了重复的渠道,因此请求失败。
invalidValue (400) channelsNeeded 如果 snippet.type 属性的值为 multipleChannels,则必须指定 contentDetails.channels[] 属性,并且必须至少指定一个渠道。
invalidValue (400) channelsNotExpected 随请求提供的资源指定了 contentDetails.channels[] 属性的值,但渠道类型并不适用于这类渠道部分。
invalidValue (400) contentDetailsNeeded 您要插入的资源必须包含适用于此类频道版块的 contentDetails 对象。
invalidValue (400) inValidPosition snippet.position 属性包含无效值。
invalidValue (400) maxChannelSectionExceeded 无法完成该请求,因为频道中的频道版块数量已达到上限。
invalidValue (400) maxChannelsExceeded 由于该请求尝试在频道部分包含的频道过多,因此请求失败。
invalidValue (400) maxPlaylistExceeded 由于尝试在频道版块中添加过多播放列表,因此请求失败。
invalidValue (400) onePlaylistNeeded 如果 snippet.type 属性的值为 singlePlaylist,则 contentDetails.playlists[] 属性只能指定一个播放列表。
invalidValue (400) ownChannelInChannels 您不能将自己的频道添加到显示在该频道中的频道版块中。
invalidValue (400) playlistIsPrivate 指定的播放列表中有一个或多个是私享播放列表,因此不能添加到频道版块中。
invalidValue (400) playlistsDuplicated 由于指定了重复的播放列表,因此请求失败。
invalidValue (400) playlistsNeeded 如果 snippet.type 属性的值为 singlePlaylistmultiplePlaylists,则必须指定 contentDetails.playlists[] 属性。
invalidValue (400) playlistsNotExpected 随请求提供的资源指定了 contentDetails.playlists[] 属性的值,但在这种情况下,播放列表的频道类型不是预期的。
invalidValue (400) snippetNeeded 您必须指定 snippet 才能创建频道版块。
invalidValue (400) titleLengthExceeded snippet.title 属性的值过长。
invalidValue (400) titleRequired 如果 snippet.type 属性的值为 multiplePlaylistsmultipleChannels,则您必须通过指定 snippet.title 属性的值来设置该部分的标题。
notFound (404) channelNotFound 找不到指定渠道中的一个或多个。
notFound (404) playlistNotFound 找不到一个或多个指定的播放列表。

试试看!

使用 APIs Explorer 调用此 API,并查看 API 请求和响应。