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 该内容管理系统用户不能代表指定的内容所有者行事。
forbidden (403) insufficientCapabilities 内容管理系统用户权限不足。
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 的错误,但其含义仍然适用。

活动

YouTube 已弃用频道公告功能。不再支持 activities.insert 方法。

下表列出了 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 参数,但未获得适当授权。

captions

下表列出了 API 在响应与 captions 资源相关的调用时返回的错误消息。这些方法还可能会返回常见的请求错误部分中列出的错误。

captions.delete

错误类型 错误详情 说明
forbidden (403) forbidden 与该请求关联的权限不足以删除字幕轨道。请求可能未获得适当授权。
notFound (404) captionNotFound 找不到字幕轨道。检查请求的 id 参数的值,确保其正确无误。

captions.download

错误类型 错误详情 说明
forbidden (403) forbidden 与该请求关联的权限不足以下载字幕轨道。该请求可能未获得适当授权,或者视频订单可能没有为此字幕启用第三方提供的内容。
invalidValue (400) couldNotConvert 无法将字幕轨道数据转换为请求的语言和/或格式。请确保请求的 tfmttlang 值无效,并且请求的字幕轨道的 snippet.status 不是 failed
notFound (404) captionNotFound 找不到字幕轨道。检查请求的 id 参数的值,确保其正确无误。

captions.insert

错误类型 错误详情 说明
badRequest (400) contentRequired 请求未包含字幕轨道内容。
conflict (409) captionExists 指定视频已有一个字幕轨道,其中包含给定的 snippet.languagesnippet.name。一个视频可以有多首同一种语言的轨道,但每个轨道的名称必须不同。

可通过多种方法解决这种错误。您可以删除现有轨道,然后插入新轨道;也可在插入前更改新轨道的名称。
forbidden (403) forbidden 与该请求关联的权限不足以上传字幕轨道。请求可能未获得适当授权。
invalidValue (400) invalidMetadata 该请求包含无效的元数据值,导致曲目无法创建。确认请求为 snippet.languagesnippet.namesnippet.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,就会出现此错误。检查请求的 idvideoId 参数的值,确保其正确无误。
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 属性的值为 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 找不到指定的一个或多个播放列表。

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 属性的值为 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) channelSectionNotFound 找不到你尝试更新的频道版块。
notFound (404) playlistNotFound 找不到指定的一个或多个播放列表。

频道

下表列出了 API 在响应与 channels 资源相关的调用时返回的错误消息。这些方法还可能会返回常见的请求错误部分中列出的错误。

channels.list

错误类型 错误详情 说明
badRequest (400) invalidCriteria 最多可以指定以下过滤条件之一:idmySubscriberscategoryIdminemanagedByMeforUsername。如果使用 onBehalfOfContentOwner 参数对内容所有者进行身份验证,则只能指定 idmanagedByMe
forbidden (403) channelForbidden id 参数指定的渠道不支持该请求,或该请求未获得适当的授权。
notFound (404) categoryNotFound 找不到 categoryId 参数所标识的类别。使用 guideCategories.list 方法检索有效值列表。
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 方法检索有效值,并确保按照 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 部分中指定项目。
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 属性的值。

commentThreads

下表列出了 API 在响应与 commentThreads 资源相关的调用时返回的错误消息。这些方法还可能会返回常见的请求错误部分中列出的错误。

commentThreads.list

错误类型 错误详情 说明
badRequest (400) operationNotSupported API 请求无效或格式不正确。因此,API 服务器无法理解该请求。
badRequest (400) processingFailure API 服务器未能成功处理请求。虽然这可能是暂时性错误,但通常表示请求的输入无效。检查请求正文中 commentThread 资源的结构,确保其有效。
forbidden (403) commentsDisabled videoId 参数标识的视频已停用评论功能。
forbidden (403) forbidden 由于权限不足,无法检索所请求的一个或多个评论会话。请求可能未获得适当授权。
notFound (404) channelNotFound 找不到由 allThreadsRelatedToChannelId 参数标识的频道。
notFound (404) commentThreadNotFound 找不到指定的一个或多个评论会话。检查请求的 id 参数的值,确保其正确无误。
notFound (404) videoNotFound 找不到由 videoId 参数标识的视频。

commentThreads.insert

错误类型 错误详情 说明
badRequest (400) channelOrVideoIdMissing 每个评论会话都必须与一个频道或视频相关联。确保资源同时指定了 snippet.channelIdsnippet.videoId 属性的值。对视频的评论会显示在视频观看页面上。
badRequest (400) commentTextRequired 要插入的 comment 资源必须为 snippet.topLevelComment.snippet.textOriginal 属性指定一个值。评论不能为空。
badRequest (400) commentTextTooLong 要插入的 comment 资源的 snippet.topLevelComment.snippet.textOriginal 属性包含的字符过多。
badRequest (400) invalidCommentThreadMetadata 请求元数据无效。
badRequest (400) processingFailure API 服务器未能成功处理请求。虽然这可能是暂时性错误,但通常表示请求的输入无效。检查请求正文中 commentThread 资源的结构,确保其有效。
forbidden (403) forbidden 由于权限不足,可能会创建评论会话。请求可能未获得适当授权。
forbidden (403) ineligibleAccount 用于授权 API 请求的 YouTube 账号必须与用户的 Google 账号合并,才能插入评论或评论会话。
notFound (404) channelNotFound 找不到指定的渠道。检查 snippet.channelId 属性的值,确保其正确无误。
notFound (404) videoNotFound 找不到指定的视频。检查 snippet.videoId 属性的值,确保其正确无误。

comments

不再支持 comments.markAsSpam 方法。

下表列出了 API 在响应与 comments 资源相关的调用时返回的错误消息。这些方法还可能会返回常见的请求错误部分中列出的错误。

comments.list

错误类型 错误详情 说明
badRequest (400) operationNotSupported API 请求无效或格式不正确。因此,API 服务器无法理解该请求。
forbidden (403) forbidden 权限不足,无法检索所请求的一条或多条评论。请求可能未获得适当授权。
notFound (404) commentNotFound 找不到指定的一条或多条评论。检查请求的 idparentId 参数的值,确保其正确无误。

comments.setModerationStatus

错误类型 错误详情 说明
badRequest (400) banWithoutReject 仅当 moderationStatus 参数值为 rejected 时,才能使用 banAuthor 参数。
badRequest (400) operationNotSupported API 请求无效或格式不正确。因此,API 服务器无法理解该请求。
badRequest (400) processingFailure API 服务器未能成功处理请求。虽然这可能是暂时性错误,但通常表示请求的输入无效。
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 API 用户无法插入评论来回复由 snippet.parentId 属性标识的顶级评论。在 commentThread 资源中,snippet.canReply 属性指示当前查看者是否可以回复线程。
badRequest (400) parentCommentIsPrivate 指定的父评论为不公开评论。该 API 不支持回复不公开评论。
badRequest (400) parentIdMissing 插入的评论必须关联到父评论。但是,API 请求正文中的 comment 资源没有为 snippet.parentId 属性指定值。
badRequest (400) processingFailure API 服务器未能成功处理请求。虽然这可能是暂时性错误,但通常表示请求的输入无效。检查请求正文中 comment 资源的结构,确保其有效。
forbidden (403) forbidden 由于权限不足,无法创建评论。请求可能未获得适当授权。
forbidden (403) ineligibleAccount 用于授权 API 请求的 YouTube 账号必须与用户的 Google 账号合并,才能插入评论或评论会话。
notFound (404) parentCommentNotFound 找不到指定的父级评论。检查请求正文中 snippet.parentId 属性的值,确保其正确无误。

comments.delete

错误类型 错误详情 说明
badRequest (400) processingFailure API 服务器未能成功处理请求。虽然这可能是暂时性错误,但通常表示请求的输入无效。
forbidden (403) forbidden 由于权限不足,无法删除评论。请求可能未获得适当授权。
notFound (404) commentNotFound 找不到指定的评论。检查请求的 id 参数的值,确保其正确无误。

comments.update

错误类型 错误详情 说明
badRequest (400) commentTextTooLong 要更新的 comment 资源的 snippet.textOriginal 属性中包含的字符过多。
badRequest (400) invalidCommentMetadata 请求元数据无效。
badRequest (400) operationNotSupported API 请求无效或格式不正确。因此,API 服务器无法理解该请求。
badRequest (400) processingFailure API 服务器未能成功处理请求。虽然这可能是暂时性错误,但通常表示请求的输入无效。检查请求正文中 comment 资源的结构,确保其有效。
forbidden (403) forbidden 权限不足,无法更新此评论。请求可能未获得适当授权。
forbidden (403) ineligibleAccount 用于授权 API 请求的 YouTube 账号必须与用户的 Google 账号合并,才能更新评论或评论会话。
notFound (404) commentNotFound 找不到指定的评论。检查请求正文中 id 属性的值,确保其正确无误。

成员

下表列出了 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 该请求试图将播放列表项的位置设置为无效或不受支持的值。请检查资源的 snippetposition 属性的值。
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 该请求试图将播放列表项的位置设置为无效或不受支持的值。请检查资源的 snippetposition 属性的值。
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 在响应与 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.titlesnippet.categoryId 属性设置值,就会出现此错误。
badRequest (400) mediaBodyRequired 要求中不包含视频内容。
badRequest (400) uploadLimitExceeded 用户上传的视频数量已超出上限。
forbidden (403) forbidden
forbidden (403) forbiddenLicenseSetting 该请求试图为视频设置无效的许可。
forbidden (403) forbiddenPrivacySetting 该请求试图为视频设置无效的隐私设置。

videos.list

错误类型 错误详情 说明
badRequest (400) videoChartNotFound 所请求的视频图表不受支持或不可用。
forbidden (403) forbidden 此请求未获得适当的授权,无法访问视频文件或处理信息。fileDetailsprocessingDetailssuggestions 部分仅供该视频的所有者使用。
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.titlesnippet.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_idsecondary_reason_id 字段的组合值不符合预期。
badRequest (400) rateLimitExceeded 用户在指定时间范围内发送的请求过多。
forbidden (403) forbidden
notFound (404) videoNotFound 找不到你尝试举报滥用行为的视频。

watermarks

下表列出了 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 参数设置为无效值。