YouTube Live Streaming API - Errors

本文档介绍了 YouTube Live Streaming API 操作可能返回的不同类型的错误。您还可以在相应方法的参考文档中找到任何单个方法的错误列表。

liveBroadcasts

下表列出了 API 在响应与 liveBroadcasts 资源相关的调用时返回的出错提示。

liveBroadcasts.bind

错误类型 错误详情 说明
backendError internalError 绑定期间发生了内部错误。
forbidden (403) liveBroadcastBindingNotAllowed 直播的当前状态不允许将其绑定到直播流。
insufficientPermissions insufficientLivePermissions 相应请求未获授权,无法检索指定的直播。如需了解详情,请参阅实现 OAuth2 身份验证。
insufficientPermissions liveStreamingNotEnabled 授权该请求的用户未获准在 YouTube 上直播实时视频。用户可前往 https://www.youtube.com/features 了解详情。
notFound (404) liveBroadcastNotFound id 参数指定的直播不存在。
notFound (404) liveStreamNotFound streamId 参数指定的数据流不存在。
rateLimitExceeded userRequestsExceedRateLimit 用户在指定时间范围内发送的请求过多。
required (400) idRequired 必需的 id 参数必须标识要绑定的直播。

liveBroadcasts.delete

错误类型 错误详情 说明
forbidden (403) liveBroadcastDeletionNotAllowed 直播的当前状态不允许删除。
insufficientPermissions insufficientLivePermissions 相应请求未获授权,无法删除指定的直播。如需了解详情,请参阅实现 OAuth2 身份验证。
insufficientPermissions liveStreamingNotEnabled 授权发出请求的用户未获准在 YouTube 上直播实时视频。用户可以访问 https://www.youtube.com/features 了解详情。
notFound (404) liveBroadcastNotFound liveBroadcast 资源中指定的 id 属性未标识直播。

liveBroadcasts.insert

错误类型 错误详情 说明
insufficientPermissions insufficientLivePermissions 该请求无权创建直播。
insufficientPermissions livePermissionBlocked 授权该请求的用户目前无法在 YouTube 上直播实时视频。用户可以在其频道设置中查看有关其无法直播实时视频的原因的详细信息,网址为 https://www.youtube.com/features。
insufficientPermissions liveStreamingNotEnabled 授权该请求的用户未获准在 YouTube 上直播实时视频。用户可以访问 https://www.youtube.com/features 了解详情。
invalidValue (400) invalidAutoStart liveBroadcast 资源包含 contentDetails.enableAutoStart 属性的无效值。 并非所有广播都支持此设置。
invalidValue (400) invalidAutoStop liveBroadcast 资源包含 contentDetails.enableAutoStop 属性的无效值。您无法修改永久性直播的 enableAutoStop 设置。
invalidValue (400) invalidDescription liveBroadcast 资源未为 snippet.description 属性指定有效值。相应属性的值最多可包含 5,000 个字符。
invalidValue (400) invalidEmbedSetting liveBroadcast 资源包含 contentDetails.enable_embed 属性的无效值。您无法嵌入此广播。
invalidValue (400) invalidLatencyPreferenceOptions liveBroadcast 资源包含 contentDetails.latencyPreference 属性的无效值。 并非所有设置都支持此延迟偏好设置。
invalidValue (400) invalidPrivacyStatus liveBroadcast 资源包含 status.privacy_status 属性的无效值。
invalidValue (400) invalidProjection liveBroadcast 资源的 contentDetails.projection 属性包含无效值。无法将默认广播的投影设置为 360。
invalidValue (400) invalidScheduledEndTime liveBroadcast 资源的 snippet.scheduledEndTime 属性包含无效值。预定结束时间必须晚于预定开始时间。
invalidValue (400) invalidScheduledStartTime liveBroadcast 资源的 snippet.scheduledStartTime 属性包含无效值。预定开始时间必须是将来的时间,并且距离当前日期足够近,以便在那个时间可靠地安排直播。
invalidValue (400) invalidTitle liveBroadcast 资源未为 snippet.title 属性指定有效值。属性值的长度必须介于 1 到 100 个字符之间。
limitExceeded userBroadcastsExceedLimit 用户创建的直播或预定直播过多,必须停止或删除部分直播。
rateLimitExceeded userRequestsExceedRateLimit 用户在指定时间范围内发送的请求过多。
required (400) privacyStatusRequired liveBroadcast 资源必须指定隐私状态。请参阅有效的 privacyStatus 值。
required (400) scheduledEndTimeRequired liveBroadcast 资源必须指定 snippet.scheduledEndTime 属性。
required (400) scheduledStartTimeRequired liveBroadcast 资源必须指定 snippet.scheduledStartTime 属性。
required (400) titleRequired liveBroadcast 资源必须指定 snippet.title 属性。

liveBroadcasts.list

错误类型 错误详情 说明
insufficientPermissions insufficientLivePermissions 相应请求未获授权来检索直播。
insufficientPermissions liveStreamingNotEnabled 授权发出请求的用户未获准在 YouTube 上直播实时视频。用户可以访问 https://www.youtube.com/features 了解详情。

liveBroadcasts.transition

错误类型 错误详情 说明
backendError errorExecutingTransition 更改直播状态时出错。
forbidden (403) errorStreamInactive 当与直播相关联的视频流处于非活动状态时,不允许进行所请求的过渡。
forbidden (403) invalidTransition 直播无法从当前状态转换为请求的状态。
forbidden (403) redundantTransition 直播已处于请求的状态,或正在处理以达到请求的状态。
insufficientPermissions insufficientLivePermissions 请求无权转换直播。
insufficientPermissions livePermissionBlocked 授权该请求的用户目前无法在 YouTube 上直播实时视频。用户可以在其频道设置中查看有关其无法直播实时视频的原因的详细信息,网址为 https://www.youtube.com/features。
insufficientPermissions liveStreamingNotEnabled 授权发出请求的用户未获准在 YouTube 上直播实时视频。用户可以访问 https://www.youtube.com/features 了解详情。
notFound (404) liveBroadcastNotFound id 参数指定的直播不存在。
rateLimitExceeded (403) userRequestsExceedRateLimit 用户在指定时间范围内发送的请求过多。
rateLimitExceeded (403) concurrentBroadcastsExceedLimit 该频道的并发直播数量已达到上限。必须先停止一个或多个正在直播的直播,频道才能开始另一场直播。
rateLimitExceeded (403) sharedIngestionBroadcastsExceedLimit 该频道中共享提取来源的直播数量已达到上限。必须停止其中一个或多个直播,才能开始请求的直播。
required (400) idRequired 必需的 id 参数必须标识您要转换状态的广播。
required (400) statusRequired API 请求必须为 status 参数指定值。

liveBroadcasts.update

错误类型 错误详情 说明
backendError (503) backendError 部分设置尚无法应用。这可能是因为直播才刚刚创建。请过几秒钟再试。
forbidden (403) closedCaptionsTypeModificationNotAllowed 只有当广播处于 created 或 ready 状态时,才能修改 contentDetails.closedCaptionsType 值。
forbidden (403) enableAutoStartModificationNotAllowed 只有在直播处于非活动状态且直播处于 created 或 ready 状态时,才能修改 contentDetails.enableAutoStart 值。
forbidden (403) enableClosedCaptionsModificationNotAllowed 只有在直播状态为 created 或 ready 时,才能修改 contentDetails.enableClosedCaptions 值。
forbidden (403) enableDvrModificationNotAllowed 只有在直播状态为 created 或 ready 时,才能修改 contentDetails.enableDvr 值。
forbidden (403) enableMonitorStreamModificationNotAllowed 只有在直播状态为 created 或 ready 时,才能修改 contentDetails.monitorStream.enableMonitorStream 值。
forbidden (403) recordFromStartModificationNotAllowed 只有在广播的状态为 created 或 ready 时,才能修改 contentDetails.recordFromStart 值。
insufficientPermissions insufficientLivePermissions 相应请求未获授权,无法更新指定的直播。如需了解详情,请参阅实现 OAuth2 身份验证。
insufficientPermissions liveStreamingNotEnabled 授权发出请求的用户未获准在 YouTube 上直播实时视频。用户可前往 https://www.youtube.com/features 了解详情。
invalidValue (400) invalidAutoStart liveBroadcast 资源包含 contentDetails.enableAutoStart 属性的无效值。 您无法修改永久性直播的 enableAutoStart 设置。
invalidValue (400) invalidAutoStop liveBroadcast 资源包含 contentDetails.enableAutoStop 属性的无效值。您无法修改永久性直播的 enableAutoStop 设置。
invalidValue (400) invalidDescription liveBroadcast 资源未为 snippet.description 属性指定有效值。snippet.description 最多可包含 5,000 个字符。
invalidValue (400) invalidEmbedSetting liveBroadcast 资源包含 contentDetails.enable_embed 属性的无效值。您无法嵌入此广播。
invalidValue (400) invalidEnableClosedCaptions 在 liveBroadcast 资源中,contentDetails.enableClosedCaptions 属性的值与 contentDetails.closedCaptionType 设置的值不兼容。修改资源,使其仅包含这两个属性中的一个,然后重新提交请求。
invalidValue (400) invalidLatencyPreferenceOptions liveBroadcast 资源包含 contentDetails.latencyPreference 属性的无效值。 此延迟时间偏好设置不支持某些设置。
invalidValue (400) invalidPrivacyStatus liveBroadcast 资源未指定有效的隐私状态。请参阅有效的 privacyStatus 值。
invalidValue (400) invalidProjection liveBroadcast 资源包含 contentDetails.projection 属性的无效值。持续广播的投影不能设置为 360。
invalidValue (400) invalidScheduledEndTime liveBroadcast 资源包含 snippet.scheduledEndTime 属性的无效值。预定结束时间必须晚于预定开始时间。
invalidValue (400) invalidScheduledStartTime liveBroadcast 资源的 snippet.scheduledStartTime 属性包含无效值。预定开始时间必须是未来的时间。
invalidValue (400) invalidTitle liveBroadcast 资源未为 snippet.title 属性指定有效值。snippet.title 的长度必须介于 1 到 100 个字符之间。
notFound (404) liveBroadcastNotFound liveBroadcast 资源中指定的 id 属性未标识任何广播。
preconditionFailed (412) videoNotEligibleForAdsMonetization 视频不符合通过广告创收的条件。如果频道不符合创收条件,则可能会出现这种情况。
required (400) broadcastStreamDelayMsRequired liveBroadcast 资源未指定 contentDetails.monitorStream.broadcastStreamDelayMs 属性。
required (400) enableMonitorStreamRequired liveBroadcast 资源未指定 contentDetails.monitorStream.enableMonitorStream 属性。
required (400) idRequired liveBroadcast 资源必须包含 id 属性并为其指定值。
required (400) privacyStatusRequired liveBroadcast 资源未指定隐私状态。 如需了解有效的 privacyStatus 值,请参阅 。
required (400) scheduledEndTimeRequired liveBroadcast 资源未指定 snippet.scheduledEndTime 属性。
required (400) scheduledStartTimeRequired liveBroadcast 资源未指定 snippet.scheduledStartTime 属性。
required (400) titleRequired liveBroadcast 资源未指定 snippet.title 属性。

liveBroadcasts.cuepoint

错误类型 错误详情 说明
insufficientPermissions (403) insufficientLivePermissions 相应请求未获授权,无法在直播中插入提示点。
insufficientPermissions (403) liveStreamingNotEnabled 授权请求的用户未获准在 YouTube 上直播视频。用户可以访问 https://support.google.com/youtube/answer/2474026 和 https://www.youtube.com/features 了解详情。
rateLimitExceeded (403) userRequestsExceedRateLimit 用户在指定时间范围内发送的请求过多。
required (400) idRequired 必需的 id 参数必须标识您要插入提示点的广播。
required (400) cueTypeRequired 必须在 API 请求正文中指定必需的 cueType 字段。
notFound (404) liveBroadcastNotFound id 参数指定的直播不存在。
invalidValue (400) conflictingTimeFields 只能指定 insertionOffsetTimeMs 和 walltimeMs 中的一个。同时设置这两个值会导致错误。如果您未设置任何值,YouTube 将使用默认的 insertionOffsetTimeMs 时间 (0),这意味着系统会尽快插入广告插入点。
invalidValue (400) invalidInsertionOffsetTimeMs cuepoint 资源为 insertionOffsetTimeMs 属性指定了无效值。该值必须为 0 或正整数。
invalidValue (400) invalidWalltimeMs cuepoint 资源为 walltimeMs 属性指定了无效值。该值必须是表示纪元时间戳的整数。
backendError (5xx) serviceUnavailable 服务不可用,请过几分钟后重试。

liveChatBans

下表列出了 API 在响应与 liveChatBans 资源相关的调用时返回的出错提示。

liveChatBans.delete

错误类型 错误详情 说明
forbidden (403) forbidden 无法移除指定的禁令。如果请求是由一位管理员授权,而该管理员试图解除对另一位管理员的封禁,则可能会发生此错误。
forbidden (403) insufficientPermissions 您没有移除指定禁令所需的权限。
invalidValue (400) invalidLiveChatBanId id 参数指定了无效值。
notFound (404) liveChatBanNotFound 找不到指定的封禁。

liveChatBans.insert

错误类型 错误详情 说明
forbidden (403) insufficientPermissions 您没有必要的权限来禁止用户参与指定的实时聊天。
forbidden (403) liveChatBanInsertionNotAllowed 无法创建指定的禁令。如果请求尝试禁言聊天所有者或其他管理员,则可能会发生此错误。
invalidValue (400) invalidChannelId 找不到指定的频道 ID。
invalidValue (400) invalidLiveChatId 请求中指定的 snippet.liveChatId 值无效。请检查关联的 liveBroadcast 资源,确保您输入的值正确无误。
notFound (404) liveChatNotFound 找不到指定的实时聊天。请检查关联的 liveBroadcast 资源,确保您将 snippet.liveChatId 属性设置为正确的值。
notFound (404) liveChatUserNotFound 找不到您要封禁的实时聊天用户。
required (400) bannedUserChannelIdRequired 在请求正文中提交的 liveChatBan 资源必须为 snippet.bannedUserDetails.channelId 属性指定值。
required (400) liveChatIdRequired 请求正文中提交的 liveChatBan 资源必须为 snippet.liveChatId 属性指定值。

liveChatMessages

下表列出了 API 在响应与 liveChatMessages 资源相关的调用时返回的出错提示。

liveChatMessages.delete

错误类型 错误详情 说明
forbidden (403) forbidden 您没有删除指定消息所需的权限。
forbidden (403) modificationNotAllowed 无法删除指定的 liveChatMessage 资源。id 参数可能标识了由管理员或其他用户创建的消息,这些消息无法删除。
notFound (404) liveChatMessageNotFound 找不到您尝试删除的邮件。请检查 id 参数的值,确保其正确无误。

liveChatMessages.insert

错误类型 错误详情 说明
forbidden (403) forbidden 您没有创建指定消息所需的权限。
forbidden (403) liveChatDisabled 所有者已停用指定的实时聊天,这意味着无法向该聊天添加消息。
forbidden (403) liveChatEnded 指定的实时聊天已结束。
invalidValue (400) messageTextInvalid 消息文本 (snippet.textMessageDetails.messageText) 无效。
notFound (404) liveChatNotFound API 请求中指定的实时聊天不存在。如果对话已被所有者删除,就会发生此错误。
rateLimitExceeded rateLimitExceeded 用户在给定时间范围内发布了过多聊天消息。
required (400) liveChatIdRequired liveChatMessage 资源必须包含 snippet.liveChatId 属性并为其指定值。
required (400) messageTextRequired liveChatMessage 资源必须包含 snippet.textMessageDetails.messageText 属性并为其指定值。
required (400) typeRequired liveChatMessage 资源必须包含 snippet.type 属性并为其指定值。将参数值设置为 text

liveChatMessages.list

错误类型 错误详情 说明
forbidden (403) forbidden 您没有检索指定实时聊天消息所需的权限。
forbidden (403) liveChatDisabled 指定直播未启用实时聊天功能。
forbidden (403) liveChatEnded 指定的实时聊天已不再处于直播状态。
notFound (404) liveChatNotFound 找不到您尝试检索的实时聊天内容。请检查请求的 liveChatId 参数值,确保其正确无误。
rateLimitExceeded rateLimitExceeded 此请求与上一个请求之间的时间间隔过短。如果发送用于检索消息的 API 请求的频率高于 YouTube 的刷新频率,就会出现此错误,这会不必要地浪费带宽。

liveChatMessages.streamlist

错误类型 错误详情 说明
INVALID_ARGUMENT (3) LIVE_CHAT_ENDED 您无法检索已结束的实时对话的消息。
PERMISSION_DENIED (7) forbidden 您没有检索指定实时聊天消息所需的权限。
PERMISSION_DENIED (7) liveChatDisabled 指定直播未启用实时聊天功能。
PERMISSION_DENIED (7) liveChatEnded 指定的实时聊天已不再处于直播状态。
NOT_FOUND (5) liveChatNotFound 找不到您尝试检索的实时聊天内容。请检查请求的 liveChatId 参数值,确保其正确无误。
RESOURCE_EXHAUSTED (8) rateLimitExceeded 该请求与上一个请求之间的时间间隔过短。当发送 API 请求以检索消息的频率高于 YouTube 的刷新率时,就会出现此错误,这会不必要地浪费带宽。

liveStreams

下表列出了 API 在响应与 liveStreams 资源相关的调用时返回的出错提示。

liveStreams.delete

错误类型 错误详情 说明
forbidden (403) liveStreamDeletionNotAllowed 指定的直播无法删除,因为它与尚未完成的直播相关联。
insufficientPermissions insufficientLivePermissions 请求无权删除指定的直播。如需了解详情,请参阅实现 OAuth 2.0 身份验证。
insufficientPermissions liveStreamingNotEnabled 授权该请求的用户未获准在 YouTube 上直播实时视频。如需了解详情,请参阅功能使用资格。
notFound (404) liveStreamNotFound 指定的直播不存在。

liveStreams.insert

错误类型 错误详情 说明
insufficientPermissions insufficientLivePermissions 相应请求无权创建指定的直播。
insufficientPermissions livePermissionBlocked 授权该请求的用户目前无法在 YouTube 上直播实时视频。用户可以在其频道设置中查看有关其无法直播实时视频的原因的详细信息,网址为 https://www.youtube.com/features。
insufficientPermissions liveStreamingNotEnabled 授权该请求的用户未获准在 YouTube 上直播实时视频。用户可以访问 https://www.youtube.com/features 了解详情。
invalidValue (400) invalidDescription liveStream 资源中 snippet.description 属性的值最多可包含 10,000 个字符。
invalidValue (400) invalidFormat liveStream 资源中的 cdn.format 属性值无效。
invalidValue (400) invalidFrameRate liveStream 资源中的 cdn.frameRate 属性值无效。
invalidValue (400) invalidIngestionType liveStream 资源中的 cdn.ingestionType 属性值无效。
invalidValue (400) invalidResolution liveStream 资源中的 cdn.resolution 属性值无效。
invalidValue (400) invalidTitle liveStream 资源中 snippet.title 属性的值长度必须介于 1 到 128 个字符之间。
rateLimitExceeded userRequestsExceedRateLimit 用户在指定时间范围内发送的请求过多。
required (400) cdnRequired liveStream 资源必须包含 cdn 对象。
required (400) frameRateRequired 如果您为 cdn.resolution 属性指定了值,但未为 cdn.frameRate 属性指定值,则 API 会返回此错误。
required (400) ingestionTypeRequired liveStream 资源必须为 cdn.ingestionType 属性指定值。
required (400) resolutionRequired 如果您为 cdn.frameRate 属性指定了值,但未为 cdn.resolution 属性指定值,则 API 会返回此错误。
required (400) titleRequired liveStream 资源必须为 snippet.title 属性指定值。

liveStreams.list

错误类型 错误详情 说明
insufficientPermissions insufficientLivePermissions 请求无权检索指定的直播。
insufficientPermissions liveStreamingNotEnabled 授权该请求的用户未获准在 YouTube 上直播实时视频。用户可前往 https://www.youtube.com/features 了解详情。

liveStreams.update

错误类型 错误详情 说明
forbidden (403) liveStreamModificationNotAllowed 无法修改处于当前状态的指定直播。如需了解详情,请参阅广播的生命周期。
forbidden (403) liveStreamModificationNotAllowed 数据流创建后,API 不允许您更改 cdn.format、cdn.frameRate、cdn.ingestionType 或 cdn.resolution 字段的值。
forbidden (403) liveStreamModificationNotAllowed 该 API 不允许您将可重用流更改为不可重用流,反之亦然。如需了解详情,请参阅了解广播和直播。
insufficientPermissions insufficientLivePermissions 请求无权更新指定的直播。如需了解详情,请参阅实现 OAuth2 身份验证。
insufficientPermissions liveStreamingNotEnabled 授权该请求的用户未获准在 YouTube 上直播实时视频。用户可以访问 https://www.youtube.com/features 了解详情。
invalidValue (400) invalidDescription liveStream 资源中 snippet.description 属性的值最多可包含 10,000 个字符。
invalidValue (400) invalidTitle liveStream 资源中 snippet.title 属性的值必须介于 1 到 128 个字符之间。
notFound (404) liveStreamNotFound 指定的直播不存在。
required (400) idRequired liveStream 资源必须为 id 属性指定一个值。
required (400) ingestionTypeRequired liveStream 资源必须为 cdn.ingestionType 属性指定值。
required (400) titleRequired liveStream 资源必须为 snippet.title 属性指定值。