YouTube Data API - Errors
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
本文档介绍了 YouTube Data API 操作可能会返回的不同类型的错误。您还可以在相应方法的参考文档中找到任何单个方法的错误列表。
一般错误
下表列出了并非特定于某个 API 方法的 API 错误消息。
Core API errors
错误类型 |
错误详情 |
说明 |
forbidden (403) |
forbidden |
已禁止访问。相应请求可能未获得适当的授权。 |
quotaExceeded (403) |
quotaExceeded |
由于您已超出配额,因此无法完成此请求。 |
Common request errors
错误类型 |
错误详情 |
说明 |
badRequest (400) |
incompatibleParameters |
相应请求指定了两个或更多无法在同一请求中使用的参数。 |
badRequest (400) |
invalidFilters |
请求指定了无效的过滤条件参数。 |
badRequest (400) |
invalidPageToken |
相应请求指定了无效的页面令牌。 |
badRequest (400) |
missingRequiredParameter |
请求缺少必需参数。 |
badRequest (400) |
unexpectedParameter |
请求指定了意外的参数。 |
forbidden (403) |
accountDelegationForbidden |
经过身份验证的用户无法代表指定的 Google 账号执行操作。 |
forbidden (403) |
authenticatedUserAccountClosed |
经过身份验证的用户的 YouTube 账号已关闭。如果经过身份验证的用户是代表其他 Google 账号行事,则此错误是指后者。 |
forbidden (403) |
authenticatedUserAccountSuspended |
经过身份验证的用户的 YouTube 账号已被中止。如果经过身份验证的用户是代表其他 Google 账号行事,则此错误是指后者。 |
forbidden (403) |
authenticatedUserNotChannel |
对于此请求,经过身份验证的用户必须解析为频道,但实际情况并非如此。如果您的请求经过身份验证并使用了 onBehalfOfContentOwner 委托参数,那么您还应设置 onBehalfOfContentOwnerChannel 参数。 |
forbidden (403) |
channelClosed |
请求中标识的渠道已关闭。 |
forbidden (403) |
channelNotFound |
找不到请求中指定的渠道。 |
forbidden (403) |
channelSuspended |
相应请求中标识的频道已被中止。 |
forbidden (403) |
cmsUserAccountNotFound |
CMS 用户无权代表指定的内容所有者执行操作。 |
forbidden (403) |
insufficientCapabilities |
CMS 用户的权限不足。 |
forbidden (403) |
insufficientPermissions |
为请求提供的 OAuth 2.0 令牌指定的范围不足以访问所请求的数据。 |
notFound (404) |
contentOwnerAccountNotFound |
找不到指定的内容所有者账号。 |
Request context errors
错误类型 |
错误详情 |
说明 |
badRequest (400) |
invalidLanguage |
hl 参数值未指定有效的语言代码。 |
badRequest (400) |
invalidMine |
不支持在请求中使用 mine 参数。 |
badRequest (400) |
invalidMine |
如果经过身份验证的用户是 YouTube 合作伙伴,则不能在请求中使用 mine 参数。您应移除 mine 参数,通过移除 onBehalfOfContentOwner 参数以 YouTube 用户的身份进行身份验证,或者通过提供 onBehalfOfContentOwnerChannel 参数(如果该参数可用于所调用的方法)以合作伙伴的某个频道的身份进行操作。 |
badRequest (400) |
invalidPart |
请求的 part 参数指定了一些无法同时写入的部分。 |
badRequest (400) |
invalidRegionCode |
regionCode 参数指定了无效的地区代码。 |
badRequest (400) |
unexpectedPart |
相应请求的 part 参数指定了一个意外值。 |
badRequest (400) |
unknownPart |
请求的 part 参数指定了一个未知值。 |
badRequest (400) |
unsupportedLanguageCode |
hl 参数值未指定受支持的语言代码。 |
badRequest (400) |
unsupportedRegionCode |
regionCode 参数指定了不受支持的地区代码。 |
unauthorized (401) |
authorizationRequired |
请求使用了 mine 参数,但未获得适当的授权。 |
unauthorized (401) |
youtubeSignupRequired |
此错误表示用户拥有未关联的 Google 账号,也就是说,用户拥有 Google 账号,但没有 YouTube 频道。此类用户可以访问许多需要用户授权的功能,例如对视频进行评分或将视频添加到watch_later 播放列表。不过,举例来说,用户需要有 YouTube 频道才能上传视频。拥有 Gmail 账号或 Android 设备的用户肯定拥有 Google 账号,但可能尚未将该 Google 账号与 YouTube 频道相关联。
如果您尝试使用 OAuth 2.0 服务账号流程,则通常会看到此错误。YouTube 不支持服务账号,如果您尝试使用服务账号进行身份验证,则会收到此错误。
介绍 Google 账号支持的 YouTube API 博文也更详细地讨论了 youtubeSignupRequired 错误。虽然这篇博文介绍了 API 版本 2.1 的错误,但该错误的含义仍然适用。 |
活动
下表列出了 API 在响应与 activities
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。
activities.list
错误类型 |
错误详情 |
说明 |
forbidden (403) |
homeParameterDeprecated |
无法通过此 API 获取用户首页的活动数据。如果您在未经授权的请求中将 home 参数设置为 true ,则可能会出现此错误。 |
forbidden (403) |
forbidden |
相应请求未获得适当的授权。 |
notFound (404) |
channelNotFound |
找不到请求的 channelId 参数所标识的频道 ID。 |
notFound (404) |
homeChannelNotFound |
找不到当前已通过身份验证的用户的 YouTube 首页 Feed。 |
unauthorized (401) |
authorizationRequired |
请求使用了 home 参数,但未获得适当的授权。 |
字幕
下表列出了 API 在响应与 captions
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。
captions.delete
错误类型 |
错误详情 |
说明 |
forbidden (403) |
forbidden |
与请求关联的权限不足,无法删除字幕轨道。相应请求可能未获得适当授权。 |
notFound (404) |
captionNotFound |
找不到字幕轨道。检查请求的 id 参数的值,确保其正确无误。 |
captions.download
错误类型 |
错误详情 |
说明 |
forbidden (403) |
forbidden |
与请求关联的权限不足以下载字幕轨道。相应请求可能未获得适当授权。 |
invalidValue (400) |
couldNotConvert |
字幕轨道数据无法转换为所请求的语言和/或格式。确保所请求的 tfmt 和 tlang 值有效,并且所请求的字幕轨道的 snippet.status 不是 failed 。 |
notFound (404) |
captionNotFound |
找不到字幕轨道。检查请求的 id 参数的值,确保其正确无误。 |
captions.insert
错误类型 |
错误详情 |
说明 |
badRequest (400) |
contentRequired |
请求不包含字幕轨道内容。 |
conflict (409) |
captionExists |
指定视频已具有指定 snippet.language 和 snippet.name 的字幕轨道。一个视频可以有多个使用同一语言的轨道,但每个轨道必须有不同的名称。
您可以通过多种方式来解决此错误。您可以删除现有轨道,然后插入新轨道,也可以先更改新轨道的名称,然后再插入。 |
forbidden (403) |
forbidden |
与请求关联的权限不足以用于上传字幕轨道。相应请求可能未获得适当授权。 |
invalidValue (400) |
invalidMetadata |
请求包含无效的元数据值,导致无法创建轨道。确认请求为 snippet.language 、snippet.name 和 snippet.videoId 属性指定了有效值。您也可以添加 snippet.isDraft 属性,但这不是必需的。 |
notFound (404) |
videoNotFound |
找不到 videoId 参数所标识的视频。 |
invalidValue (400) |
nameTooLong |
请求中指定的 snippet.name 过长。支持的最大长度为 150 个字符。 |
captions.list
错误类型 |
错误详情 |
说明 |
forbidden (403) |
forbidden |
由于与请求关联的权限不足以检索所请求的资源,因此无法检索一个或多个字幕轨道。相应请求可能未获得适当授权。 |
notFound (404) |
captionNotFound |
找不到指定的一个或多个字幕轨道。如果 videoId 参数标识的是实际视频,但 id 参数标识的是不存在的字幕轨道 ID 或与其他视频相关联的轨道 ID,则会发生此错误。检查请求的 id 和 videoId 参数的值,确保它们正确无误。 |
notFound (404) |
videoNotFound |
找不到 videoId 参数所标识的视频。 |
captions.update
错误类型 |
错误详情 |
说明 |
badRequest (400) |
contentRequired |
相应请求未上传更新后的字幕文件。如果 sync 参数设置为 true ,则必须提供实际轨道内容。 |
forbidden (403) |
forbidden |
与请求关联的权限不足,无法更新字幕轨道。相应请求可能未获得适当授权。 |
notFound (404) |
captionNotFound |
找不到指定的字幕轨道。检查请求的 id 参数的值,确保其正确无误。 |
channelBanners
下表列出了 API 在响应与 channelBanners
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。
channelBanners.insert
错误类型 |
错误详情 |
说明 |
badRequest (400) |
bannerAlbumFull |
您的“YouTube 频道图片”相册中的图片过多。请前往 http://photos.google.com,找到相册页面,然后从该相册中移除一些图片。 |
badRequest (400) |
mediaBodyRequired |
请求不包含图片内容。 |
channelSections
下表列出了 API 在响应与 channelSections
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。
channelSections.delete
错误类型 |
错误详情 |
说明 |
badRequest (400) |
notEditable |
此频道版块无法删除。 |
forbidden (403) |
channelSectionForbidden |
相应请求未经过适当的身份验证,或者此渠道不支持相应请求。 |
invalidValue (400) |
idInvalid |
id 属性指定了无效的频道版块 ID。 |
invalidValue (400) |
idRequired |
id 属性必须指定一个用于标识要删除的频道版块的值。 |
notFound (404) |
channelNotFound |
找不到频道。 |
notFound (404) |
channelSectionNotFound |
找不到您尝试更新的频道版块。 |
channelSections.insert
错误类型 |
错误详情 |
说明 |
badRequest (400) |
defaultLanguageNotSetError |
必须设置 channelSection 资源的 snippet.defaultLanguage 属性,才能成功插入或更新相应资源的 localizations 对象。 |
badRequest (400) |
invalidLanguage |
localizations 对象的某个语言键未通过验证。使用 channelSections.list 方法检索有效值,并按照 a href="/youtube/v3/docs/channelSections#resource">channelSections 资源文档中的指南更新这些值。 |
badRequest (400) |
notEditable |
无法创建此频道版块。 |
badRequest (400) |
styleRequired |
channelSection 资源必须为 snippet.style 字段指定值。 |
badRequest (400) |
targetInvalidCountry |
targeting.countries 列表中的某个值未通过验证。使用 channelSections.list 方法检索有效值,并按照 a href="/youtube/v3/docs/channelSections#resource">channelSections 资源文档中的指南更新这些值。 |
badRequest (400) |
targetInvalidLanguage |
targeting.languages 列表中的某个值未通过验证。使用 channelSections.list 方法检索有效值,并按照 a href="/youtube/v3/docs/channelSections#resource">channelSections 资源文档中的指南更新这些值。 |
badRequest (400) |
targetInvalidRegion |
targeting.regions 列表中的某个值未通过验证。使用 channelSections.list 方法检索有效值,并按照 a href="/youtube/v3/docs/channelSections#resource">channelSections 资源文档中的指南更新这些值。 |
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 属性的值为 singlePlaylist 或 multiplePlaylists ,则必须指定 contentDetails.playlists[] 属性。 |
invalidValue (400) |
playlistsNotExpected |
请求中提供的资源为 contentDetails.playlists[] 属性指定了一个值,但此类型的频道版块不应包含播放列表。 |
invalidValue (400) |
snippetNeeded |
您必须指定 snippet 才能创建频道版块。 |
invalidValue (400) |
titleLengthExceeded |
snippet.title 属性的值过长。 |
invalidValue (400) |
titleRequired |
如果 snippet.type 属性的值为 multiplePlaylists 或 multipleChannels ,则必须通过为 snippet.title 属性指定值来设置相应版块的标题。 |
notFound (404) |
channelNotFound |
找不到指定的一个或多个频道。 |
notFound (404) |
playlistNotFound |
找不到指定的一个或多个播放列表。 |
channelSections.list
错误类型 |
错误详情 |
说明 |
forbidden (403) |
channelSectionForbidden |
请求者无权访问所请求的频道版块。 |
invalidValue (400) |
idInvalid |
相应请求指定的频道版块 ID 无效。 |
invalidValue (400) |
invalidCriteria |
由于过滤条件无效,因此无法完成相应请求。 |
notFound (404) |
channelNotFound |
找不到与请求关联的渠道。 |
notFound (404) |
channelSectionNotFound |
找不到与请求关联的频道版块。 |
channelSections.update
错误类型 |
错误详情 |
说明 |
badRequest (400) |
defaultLanguageNotSetError |
必须设置 channelSection 资源的 snippet.defaultLanguage 属性,才能成功插入或更新相应资源的 localizations 对象。 |
badRequest (400) |
invalidLanguage |
localizations 对象的某个语言键未通过验证。使用 channelSections.list 方法检索有效值,并按照 a href="/youtube/v3/docs/channelSections#resource">channelSections 资源文档中的指南更新这些值。 |
badRequest (400) |
notEditable |
此频道版块无法修改。 |
badRequest (400) |
styleRequired |
channelSection 资源必须为 snippet.style 字段指定值。 |
badRequest (400) |
targetInvalidCountry |
targeting.countries 列表中的某个值未通过验证。使用 channelSections.list 方法检索有效值,并按照 a href="/youtube/v3/docs/channelSections#resource">channelSections 资源文档中的指南更新这些值。 |
badRequest (400) |
targetInvalidLanguage |
targeting.languages 列表中的某个值未通过验证。使用 channelSections.list 方法检索有效值,并按照 a href="/youtube/v3/docs/channelSections#resource">channelSections 资源文档中的指南更新这些值。 |
badRequest (400) |
targetInvalidRegion |
targeting.regions 列表中的某个值未通过验证。使用 channelSections.list 方法检索有效值,并按照 a href="/youtube/v3/docs/channelSections#resource">channelSections 资源文档中的指南更新这些值。 |
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) |
idInvalid |
id 属性指定了无效的频道版块 ID。 |
invalidValue (400) |
idRequired |
id 属性必须指定一个用于标识要更新的频道版块的值。 |
invalidValue (400) |
inValidPosition |
snippet.position 属性包含无效值。 |
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 属性的值为 singlePlaylist 或 multiplePlaylists ,则必须指定 contentDetails.playlists[] 属性。 |
invalidValue (400) |
playlistsNotExpected |
请求中提供的资源为 contentDetails.playlists[] 属性指定了一个值,但此类型的频道版块不应包含播放列表。 |
invalidValue (400) |
snippetNeeded |
您必须指定 snippet 才能更新频道版块。 |
invalidValue (400) |
titleLengthExceeded |
snippet.title 属性的值过长。 |
invalidValue (400) |
titleRequired |
如果 snippet.type 属性的值为 multiplePlaylists 或 multipleChannels ,则必须通过为 snippet.title 属性指定值来设置相应版块的标题。 |
notFound (404) |
channelNotFound |
找不到指定的一个或多个频道。 |
notFound (404) |
channelSectionNotFound |
找不到您尝试更新的频道版块。 |
notFound (404) |
playlistNotFound |
找不到指定的一个或多个播放列表。 |
channels
下表列出了 API 在响应与 channels
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。
channels.list
错误类型 |
错误详情 |
说明 |
badRequest (400) |
invalidCriteria |
最多可以指定以下过滤条件之一:id 、mySubscribers 、categoryId 、mine 、managedByMe 、forUsername 。如果使用 onBehalfOfContentOwner 参数进行内容所有者身份验证,则只能指定 id 或 managedByMe 。 |
forbidden (403) |
channelForbidden |
id 参数指定的渠道不支持相应请求,或者请求未获得适当的授权。 |
notFound (404) |
categoryNotFound |
找不到 categoryId 参数所标识的类别。 |
notFound (404) |
channelNotFound |
找不到 id 参数中指定的渠道。 |
channels.update
错误类型 |
错误详情 |
说明 |
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 部分中指定一个项目。 |
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 属性的值。 |
成员
下表列出了 API 在响应与 members
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。
members.list
错误类型 |
错误详情 |
说明 |
badRequest (400) |
channelMembershipsNotEnabled |
授权请求的创作者频道未启用频道会员功能。 |
badRequest (400) |
invalidMode |
mode 参数值无效。
如果 pageToken 参数指定的令牌是使用与指定模式不同的模式检索到的,则可能会发生此错误。 |
badRequest (400) |
invalidPageToken |
pageToken 参数值无效。如果请求中使用的页面令牌已过期,则会发生此错误。 |
badRequest (400) |
invalidHasAccessToLevel |
hasAccessToLevel 参数值无效。不存在具有指定 id 的级别。 |
badRequest (400) |
invalidFilterByMemberChannelId |
filterByMemberChannelId 参数值无效。如果 filterByMemberChannelId 参数值指定的渠道数量超过 100,则会发生此错误。 |
membershipsLevels
下表列出了 API 在响应与 members
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。
membershipsLevels.list
错误类型 |
错误详情 |
说明 |
badRequest (400) |
channelMembershipsNotEnabled |
授权请求的创作者频道未启用频道会员功能。 |
playlistItems
下表列出了 API 在响应与 playlistItems
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。
playlistItems.delete
错误类型 |
错误详情 |
说明 |
forbidden (403) |
playlistItemsNotAccessible |
相应请求未获得适当授权,无法删除指定的播放列表项。 |
notFound (404) |
playlistItemNotFound |
找不到通过请求的 id 参数标识的播放列表项。 |
invalidValue (400) |
playlistOperationUnsupported |
该 API 不支持从指定播放列表中删除视频。例如,您无法从“上传的视频”播放列表中删除视频。 |
playlistItems.insert
错误类型 |
错误详情 |
说明 |
duplicate |
videoAlreadyInPlaylist |
您尝试添加到播放列表中的视频已在播放列表中。 |
forbidden (403) |
playlistContainsMaximumNumberOfVideos |
该播放列表已包含允许的最大数量的项。 |
forbidden (403) |
playlistItemsNotAccessible |
相应请求未获得适当授权,无法插入指定的播放列表项。 |
invalidValue (400) |
invalidContentDetails |
请求中的 contentDetails 属性无效。可能的原因是contentDetails.note 字段的长度超过了 280 个字符。 |
invalidValue (400) |
invalidPlaylistItemPosition |
请求尝试将播放列表项的位置设置为无效值或不支持的值。检查资源 snippet 中的 position 属性的值。 |
invalidValue (400) |
invalidResourceType |
相应操作不支持为资源 ID 指定的 type 。资源 ID 用于标识要添加到播放列表中的项,例如 youtube#video 。 |
invalidValue (400) |
manualSortRequired |
相应请求尝试设置播放列表项的位置,但该播放列表未使用手动排序。(例如,播放列表中的内容可以按日期或热门程度排序。)您可以通过从请求要插入的资源中移除 snippet.position 元素来解决此错误。如果您希望播放列表中的项目在列表中具有特定位置,则需要在播放列表的设置中先将播放列表的排序选项更新为手动。您可以在 YouTube 视频管理器中调整此设置。 |
invalidValue (400) |
videoAlreadyInAnotherSeriesPlaylist |
您尝试添加到播放列表中的视频已在另一系列播放列表中。 |
invalidValue (400) |
playlistOperationUnsupported |
该 API 不支持将视频插入指定播放列表的功能。例如,您无法将视频插入到“上传的视频”播放列表中。 |
notFound (404) |
playlistNotFound |
找不到请求的 playlistId 参数所标识的播放列表。 |
notFound (404) |
videoNotFound |
找不到您尝试添加到播放列表中的视频。检查 videoId 属性的值,确保其正确无误。 |
required (400) |
channelIdRequired |
相应请求未为必需的 channelId 属性指定值。 |
required (400) |
playlistIdRequired |
相应请求未为必需的 playlistId 属性指定值。 |
required (400) |
resourceIdRequired |
请求必须包含一个资源,其中 snippet 对象指定了 resourceId 。 |
playlistItems.list
错误类型 |
错误详情 |
说明 |
forbidden (403) |
playlistItemsNotAccessible |
相应请求未获得适当授权,无法检索指定播放列表。 |
notFound (404) |
playlistNotFound |
找不到请求的 playlistId 参数所标识的播放列表。 |
notFound (404) |
videoNotFound |
找不到请求的 videoId 参数所标识的视频。 |
required (400) |
playlistIdRequired |
订阅请求未为必需的 playlistId 属性指定值。 |
invalidValue (400) |
playlistOperationUnsupported |
该 API 不支持列出指定播放列表中的视频。例如,您无法在“稍后观看”播放列表中列出视频。 |
playlistItems.update
错误类型 |
错误详情 |
说明 |
forbidden (403) |
playlistItemsNotAccessible |
相应请求未获得适当的授权来更新指定的播放列表项。 |
invalidValue (400) |
invalidPlaylistItemPosition |
请求尝试将播放列表项的位置设置为无效值或不支持的值。检查资源 snippet 中的 position 属性的值。 |
invalidValue (400) |
invalidResourceType |
相应操作不支持为资源 ID 指定的 type 。资源 ID 用于标识要添加到播放列表中的项,例如 youtube#video 。 |
invalidValue (400) |
invalidSnippet |
相应请求未指定有效的 snippet 媒体资源。 |
invalidValue (400) |
manualSortRequired |
相应请求尝试设置播放列表项的位置,但该播放列表未使用手动排序。(例如,播放列表中的内容可以按日期或热门程度排序。)您可以通过从请求要插入的资源中移除 snippet.position 元素来解决此错误。如果您希望播放列表中的项目在列表中具有特定位置,则需要在播放列表的设置中先将播放列表的排序选项更新为手动。您可以在 YouTube 视频管理器中调整此设置。 |
invalidValue (400) |
playlistOperationUnsupported |
该 API 不支持更新指定播放列表中的视频。例如,您无法更新已上传视频播放列表中的视频。 |
notFound (404) |
playlistItemNotFound |
找不到请求的 id 属性所标识的播放列表项。 |
notFound (404) |
playlistNotFound |
找不到请求的 playlistId 参数所标识的播放列表。 |
required (400) |
channelIdRequired |
相应请求未为必需的 channelId 属性指定值。 |
required (400) |
playlistIdRequired |
相应请求未为必需的 playlistId 属性指定值。 |
required (400) |
playlistItemIdRequired |
请求中指定的播放列表项资源必须使用 id 属性来标识要更新的播放列表项。 |
播放列表
下表列出了 API 在响应与 playlists
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。
playlists.delete
错误类型 |
错误详情 |
说明 |
forbidden (403) |
playlistForbidden |
此操作已被禁止,或者请求未获得适当的授权。 |
notFound (404) |
playlistNotFound |
找不到请求的 id 参数所标识的播放列表。 |
invalidValue (400) |
playlistOperationUnsupported |
该 API 不支持删除指定播放列表。例如,您无法删除自己上传的视频播放列表。 |
playlists.list
错误类型 |
错误详情 |
说明 |
forbidden (403) |
channelClosed |
channelId 参数中指定的渠道已关闭。 |
forbidden (403) |
channelSuspended |
channelId 参数中指定的频道已被中止。 |
forbidden (403) |
playlistForbidden |
通过请求的 id 参数标识的播放列表不支持相应请求,或者相应请求未获得适当的授权。 |
notFound (404) |
channelNotFound |
找不到 channelId 参数中指定的渠道。 |
notFound (404) |
playlistNotFound |
找不到请求的 id 参数所标识的播放列表。 |
invalidValue (400) |
playlistOperationUnsupported |
该 API 不支持列出指定播放列表的功能。例如,您无法列出“稍后观看”播放列表。 |
playlists.insert
错误类型 |
错误详情 |
说明 |
badRequest (400) |
defaultLanguageNotSetError |
必须将 defaultLanguage 设置为更新 localizations 。 |
badRequest (400) |
localizationValidationError |
本地化对象中的某个值未能通过验证。使用 playlists.list 方法检索有效值,并确保按照播放列表资源文档中的指南更新这些值。 |
badRequest (400) |
maxPlaylistExceeded |
无法创建播放列表,因为相应频道已达到允许的播放列表数量上限。 |
forbidden (403) |
playlistForbidden |
此操作已被禁止,或者请求未获得适当的授权。 |
invalidValue (400) |
invalidPlaylistSnippet |
相应请求提供的播放列表代码段无效。 |
required (400) |
playlistTitleRequired |
请求必须指定播放列表标题。 |
playlists.update
错误类型 |
错误详情 |
说明 |
badRequest (400) |
defaultLanguageNotSetError |
必须将 defaultLanguage 设置为更新 localizations 。 |
badRequest (400) |
localizationValidationError |
本地化对象中的某个值未能通过验证。使用 playlists.list 方法检索有效值,并确保按照播放列表资源文档中的指南更新这些值。 |
forbidden (403) |
playlistForbidden |
此操作已被禁止,或者请求未获得适当的授权。 |
invalidValue (400) |
invalidPlaylistSnippet |
相应请求提供的播放列表代码段无效。 |
invalidValue (400) |
playlistOperationUnsupported |
该 API 不支持更新指定播放列表。例如,您无法更新已上传视频的播放列表的属性。 |
notFound (404) |
playlistNotFound |
找不到请求的 id 参数所标识的播放列表。 |
required (400) |
playlistTitleRequired |
请求必须指定播放列表标题。 |
搜索
下表列出了 API 在响应与 search
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。
search.list
错误类型 |
错误详情 |
说明 |
badRequest (400) |
invalidChannelId |
channelId 参数指定的频道 ID 无效。 |
badRequest (400) |
invalidLocation |
location 和/或 locationRadius 参数值的格式不正确。 |
badRequest (400) |
invalidRelevanceLanguage |
relevanceLanguage 参数值的格式不正确。 |
badRequest (400) |
invalidSearchFilter |
相应请求包含无效的搜索过滤条件和/或限制组合。如果您为 eventType 、videoCaption 、videoCategoryId 、videoDefinition 、videoDimension 、videoDuration 、videoEmbeddable 、videoLicense 、videoSyndicated 或 videoType 参数设置了值,则必须将 type 参数设置为 video 。 |
订阅
下表列出了 API 在响应与 subscriptions
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。
subscriptions.delete
错误类型 |
错误详情 |
说明 |
forbidden (403) |
subscriptionForbidden |
相应请求未经过适当的身份验证,或者此渠道不支持相应请求。 |
notFound (404) |
subscriptionNotFound |
找不到您尝试删除的订阅。检查请求的 id 参数的值,确保其正确无误。 |
subscriptions.insert
错误类型 |
错误详情 |
说明 |
badRequest (400) |
subscriptionDuplicate |
您尝试创建的订阅已存在。 |
badRequest (400) |
subscriptionForbidden |
您的订阅数量已达上限。 |
badRequest (400) |
subscriptionForbidden |
短时间内的订阅太多,请过几个小时后再试。 |
badRequest (400) |
subscriptionForbidden |
不支持订阅自己的频道。 |
forbidden (403) |
subscriptionForbidden |
相应请求未经过适当的身份验证,或者此渠道不支持相应请求。 |
notFound (404) |
publisherNotFound |
找不到请求的 snippet.resourceId 属性指定的资源。 |
notFound (404) |
subscriberNotFound |
找不到与相应请求关联的订阅者。 |
required (400) |
publisherRequired |
请求中指定的订阅资源必须使用 snippet.resourceId 属性来标识要订阅的频道。 |
subscriptions.list
错误类型 |
错误详情 |
说明 |
forbidden (403) |
accountClosed |
无法检索订阅,因为订阅者的账号已关闭。 |
forbidden (403) |
accountSuspended |
由于订阅者的账号处于中止状态,因此无法检索订阅。 |
forbidden (403) |
subscriptionForbidden |
请求者无权访问所请求的订阅。 |
notFound (404) |
subscriberNotFound |
找不到与相应请求关联的订阅者。 |
缩略图
下表列出了 API 在响应与 thumbnails
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。
thumbnails.set
错误类型 |
错误详情 |
说明 |
badRequest (400) |
invalidImage |
所提供的图片内容无效。 |
badRequest (400) |
mediaBodyRequired |
请求不包含图片内容。 |
forbidden (403) |
forbidden |
无法为指定视频设置缩略图。相应请求可能未获得适当授权。 |
forbidden (403) |
forbidden |
通过身份验证的用户无权上传和设置自定义视频缩略图。 |
notFound (404) |
videoNotFound |
找不到您尝试插入缩略图的视频。检查请求的 videoId 参数的值,确保其正确无误。 |
tooManyRequests (429) |
uploadRateLimitExceeded |
该频道最近上传的缩略图过多。请稍后重试请求。 |
videoAbuseReportReasons
下表列出了 API 在响应与 videoAbuseReportReasons
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。
videoAbuseReportReasons.list
错误类型 |
错误详情 |
说明 |
forbidden (403) |
forbidden |
已禁止访问。相应请求可能未获得适当的授权。 |
videoCategories
下表列出了 API 在响应与 videoCategories
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。
videoCategories.list
错误类型 |
错误详情 |
说明 |
notFound (404) |
videoCategoryNotFound |
找不到 id 参数所标识的视频类别。使用 videoCategories.list 方法检索有效值的列表。 |
视频
下表列出了 API 在响应与 videos
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。
videos.insert
错误类型 |
错误详情 |
说明 |
badRequest (400) |
defaultLanguageNotSet |
相应请求尝试添加本地化视频详细信息,但未指定视频详细信息的默认语言。 |
badRequest (400) |
invalidCategoryId |
snippet.categoryId 属性指定了无效的类别 ID。使用 videoCategories.list 方法检索支持的类别。 |
badRequest (400) |
invalidDescription |
请求元数据指定的视频说明无效。 |
badRequest (400) |
invalidFilename |
Slug 标头中指定的视频文件名无效。 |
badRequest (400) |
invalidPublishAt |
请求元数据指定的预定发布时间无效。 |
badRequest (400) |
invalidRecordingDetails |
请求元数据中的 recordingDetails 对象指定了无效的录制详细信息。 |
badRequest (400) |
invalidTags |
请求元数据指定了无效的视频关键字。 |
badRequest (400) |
invalidTitle |
请求元数据指定了无效或空白的视频标题。 |
badRequest (400) |
invalidVideoGameRating |
请求元数据指定了无效的视频游戏分级。 |
badRequest (400) |
invalidVideoMetadata |
请求元数据无效。如果请求更新了 video 资源的 snippet 部分,但未同时为 snippet.title 和 snippet.categoryId 属性设置值,则会发生此错误。 |
badRequest (400) |
mediaBodyRequired |
请求不包含视频内容。 |
badRequest (400) |
uploadLimitExceeded |
用户上传的视频数量已超出上限。 |
forbidden (403) |
forbidden |
|
forbidden (403) |
forbiddenLicenseSetting |
相应请求尝试为视频设置无效许可。 |
forbidden (403) |
forbiddenPrivacySetting |
相应请求尝试为视频设置无效的隐私设置。 |
videos.list
错误类型 |
错误详情 |
说明 |
badRequest (400) |
videoChartNotFound |
所请求的视频排行榜不受支持或不可用。 |
forbidden (403) |
forbidden |
相应请求未获得适当授权,无法访问视频文件或处理信息。fileDetails 、processingDetails 和 suggestions 部分仅对相应视频的所有者可见。 |
forbidden (403) |
forbidden |
相应请求无法访问用户评分信息。出现此错误的原因可能是,相应请求未获得使用 myRating 参数的适当授权。 |
notFound (404) |
videoNotFound |
找不到您尝试检索的视频。检查请求的 id 参数的值,确保其正确无误。 |
videos.delete
错误类型 |
错误详情 |
说明 |
forbidden (403) |
forbidden |
您尝试删除的视频无法删除。相应请求可能未获得适当授权。 |
notFound (404) |
videoNotFound |
找不到您要删除的视频。检查请求的 id 参数的值,确保其正确无误。 |
videos.update
错误类型 |
错误详情 |
说明 |
badRequest (400) |
defaultLanguageNotSet |
API 请求尝试添加本地化视频详细信息,但未指定视频详细信息的默认语言。 |
badRequest (400) |
invalidCategoryId |
snippet.categoryId 属性指定了无效的类别 ID。使用 videoCategories.list 方法检索支持的类别。 |
badRequest (400) |
invalidDefaultBroadcastPrivacySetting |
相应请求尝试为默认广播设置无效的隐私设置。 |
badRequest (400) |
invalidDescription |
请求元数据指定了无效的视频说明。 |
badRequest (400) |
invalidPublishAt |
请求元数据指定的预定发布时间无效。 |
badRequest (400) |
invalidRecordingDetails |
请求元数据中的 recordingDetails 对象指定了无效的录制详细信息。 |
badRequest (400) |
invalidTags |
请求元数据指定了无效的视频关键字。 |
badRequest (400) |
invalidTitle |
请求元数据指定了无效或空白的视频标题。 |
badRequest (400) |
invalidVideoMetadata |
请求元数据无效。如果请求更新了 video 资源的 snippet 部分,但未同时为 snippet.title 和 snippet.categoryId 属性设置值,则会发生此错误。 |
forbidden (403) |
forbidden |
已禁止访问。相应请求可能未获得适当的授权。 |
forbidden (403) |
forbiddenEmbedSetting |
相应请求尝试为视频设置无效的嵌入设置。部分频道可能没有权限为直播提供嵌入式播放器。如需了解详情,请访问 YouTube 帮助中心。 |
forbidden (403) |
forbiddenLicenseSetting |
相应请求尝试为视频设置无效许可。 |
forbidden (403) |
forbiddenPrivacySetting |
相应请求尝试为视频设置无效的隐私设置。 |
notFound (404) |
videoNotFound |
找不到您尝试更新的视频。检查请求正文中的 id 字段的值,确保其正确无误。 |
videos.rate
错误类型 |
错误详情 |
说明 |
badRequest (400) |
emailNotVerified |
用户必须先验证其电子邮件地址,然后才能评分。 |
badRequest (400) |
invalidRating |
相应请求包含 rating 参数的意外值。 |
badRequest (400) |
videoPurchaseRequired |
只有租借了视频的用户才能为租借的视频评分。 |
forbidden (403) |
forbidden |
您尝试评分的视频无法评分。相应请求可能未获得适当授权。 |
forbidden (403) |
videoRatingDisabled |
您尝试评分的视频的所有者已停用该视频的评分功能。 |
notFound (404) |
videoNotFound |
找不到您要评价的视频。检查请求的 id 参数的值,确保其正确无误。 |
videos.reportAbuse
错误类型 |
错误详情 |
说明 |
badRequest (400) |
invalidAbuseReason |
相应请求包含 reason_id 字段的意外值,或 reason_id 和 secondary_reason_id 字段的组合。 |
badRequest (400) |
rateLimitExceeded |
用户在指定时间范围内发送的请求过多。 |
forbidden (403) |
forbidden |
|
notFound (404) |
videoNotFound |
找不到您尝试举报滥用行为的视频。 |
水印
下表列出了 API 在响应与 watermarks
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。
watermarks.set
错误类型 |
错误详情 |
说明 |
badRequest (400) |
imageFormatUnsupported |
您提供的图片格式不受支持。 |
badRequest (400) |
imageTooTall |
您提供的图片过高。 |
badRequest (400) |
imageTooWide |
您提供的图片过宽。 |
badRequest (400) |
mediaBodyRequired |
请求不包含图片内容。 |
forbidden (403) |
forbidden |
无法为指定频道设置水印。请求可能未获得适当的授权,或者 channelId 参数设置为无效值。 |
watermarks.unset
错误类型 |
错误详情 |
说明 |
forbidden (403) |
forbidden |
无法为指定渠道取消设置水印。请求可能未获得适当的授权,或者 channelId 参数设置为无效值。 |
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-10-06。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-10-06。"],[],["API errors include `forbidden (403)` for access or quota issues, and `notFound (404)` for missing resources. `badRequest (400)` signals invalid parameters or missing data. `unauthorized (401)` means proper authorization is missing. Actions like `insert`, `update`, `delete`, `list` and `rate` are subject to errors, such as invalid input, authorization failures, or resource unavailability. Operations involving channels, captions, playlists, comments, videos, and subscriptions have specific error conditions, like duplicate entries or channel/video not found. Error descriptions often indicate necessary parameter corrections or authorization requirements.\n"]]
comments
下表列出了 API 在响应与
comments
资源相关的调用时返回的错误消息。这些方法还可能会返回常见请求错误部分中列出的错误。comments.list
badRequest (400)
operationNotSupported
forbidden (403)
forbidden
notFound (404)
commentNotFound
id
和parentId
参数的值,确保它们正确无误。comments.setModerationStatus
badRequest (400)
banWithoutReject
moderationStatus
参数值为rejected
时,才能使用banAuthor
参数。badRequest (400)
operationNotSupported
badRequest (400)
processingFailure
forbidden (403)
forbidden
notFound (404)
commentNotFound
id
参数的值,确保其正确无误。comments.insert
badRequest (400)
commentTextRequired
comment
资源必须为snippet.textOriginal
属性指定值。评论不能为空。badRequest (400)
commentTextTooLong
comment
资源中snippet.textOriginal
属性包含的字符过多。badRequest (400)
invalidCommentMetadata
badRequest (400)
operationNotSupported
snippet.parentId
属性标识的顶级评论。在commentThread
资源中,snippet.canReply
属性用于指明当前查看者是否可以回复相应帖子。badRequest (400)
parentCommentIsPrivate
badRequest (400)
parentIdMissing
comment
资源未指定snippet.parentId
属性的值。badRequest (400)
processingFailure
comment
资源结构,确保其有效。forbidden (403)
forbidden
forbidden (403)
ineligibleAccount
notFound (404)
parentCommentNotFound
snippet.parentId
属性值,确保其正确无误。comments.delete
badRequest (400)
processingFailure
forbidden (403)
forbidden
notFound (404)
commentNotFound
id
参数的值,确保其正确无误。comments.update
badRequest (400)
commentTextTooLong
comment
资源中的snippet.textOriginal
属性包含的字符过多。badRequest (400)
invalidCommentMetadata
badRequest (400)
operationNotSupported
badRequest (400)
processingFailure
comment
资源结构,确保其有效。forbidden (403)
forbidden
forbidden (403)
ineligibleAccount
notFound (404)
commentNotFound
id
属性值,确保其正确无误。