LiveBroadcasts: transition

更改 YouTube 直播的状态,并启动与新状态关联的所有进程。例如,当您将直播的状态转换为 testing 时,YouTube 会开始将视频传输到该直播的监控流。在调用此方法之前,您应确认与直播绑定的流的 status.streamStatus 属性的值为 active。

常见应用场景

请求

HTTP 请求

POST https://www.googleapis.com/youtube/v3/liveBroadcasts/transition

授权

此请求需要使用至少以下其中一个范围进行授权。如需详细了解身份验证和授权,请参阅实现 OAuth 2.0 身份验证。

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

参数

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

参数
必需参数
broadcastStatus string
broadcastStatus 参数用于标识直播要更改为的状态。请注意,如需将直播转换为 testing 或 live 状态,直播所绑定的流的 status.streamStatus 必须为 active。

可接受的值包括:
  • complete \- 直播已结束。YouTube 停止传输视频。
  • live \- 直播对其观众可见。YouTube 将视频传输到直播的监控流及其直播流。
  • testing \- 开始测试直播。YouTube 将视频传输到直播的监控流。请注意,只有当直播的 contentDetails.monitorStream.enableMonitorStream 属性设置为 true 时,您才能将直播转换为 testing 状态。
id string
id 参数用于指定要转换为其他状态的直播的唯一 ID。
part string
part 参数用于指定一个逗号分隔列表,其中包含 API 响应将包含的一个或多个 liveBroadcast 资源属性。您可以包含在参数值中的 part 名称包括 id、snippet、contentDetails 和 status。
可选参数
onBehalfOfContentOwner string
此参数只能在经过适当授权的请求中使用。

注意:此参数仅供 YouTube 内容合作伙伴使用。

onBehalfOfContentOwner 参数表示请求的授权凭据标识的是一个 YouTube 内容管理系统 (CMS) 用户,该用户代表参数值中指定的内容所有者行事。此参数适用于拥有和管理许多不同 YouTube 频道的 YouTube 内容合作伙伴。它允许内容所有者进行一次身份验证,即可访问其所有视频和频道数据,而无需为每个频道提供身份验证凭据。用户进行身份验证时使用的 CMS 账号必须与指定的 YouTube 内容所有者相关联。
onBehalfOfContentOwnerChannel string
此参数只能在经过适当授权的请求中使用。

注意:此参数仅供 YouTube 内容合作伙伴使用。

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

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

请求正文

调用此方法时,请勿提供请求正文。

响应

如果成功,此方法会在响应正文中返回 liveBroadcast 资源。

错误

下表列出了 API 在响应对此方法的调用时可能会返回的出错提示。如需了解详情,请参阅 YouTube Live Streaming API - 错误。

错误类型 错误详情 说明
backendError errorExecutingTransition 更改直播的状态时出错。
forbidden (403) errorStreamInactive 当与直播绑定的流处于非活动状态时,不允许请求的转换。
forbidden (403) invalidTransition 直播无法从当前状态转换为请求的状态。
forbidden (403) redundantTransition 直播已处于请求的状态或正在处理为请求的状态。
insufficientPermissions insufficientLivePermissions 请求无权转换直播。
insufficientPermissions livePermissionBlocked 授权请求的用户目前无法在 YouTube 上直播实时视频。如需详细了解用户无法直播实时视频的原因,请参阅功能使用资格中的用户频道设置。
insufficientPermissions liveStreamingNotEnabled 授权请求的用户未获准在 YouTube 上直播实时视频。如需了解详情,请参阅功能使用资格。
notFound (404) liveBroadcastNotFound id 参数指定的直播不存在。
rateLimitExceeded (403) userRequestsExceedRateLimit 用户在指定时间范围内发送的请求过多。
rateLimitExceeded (403) concurrentBroadcastsExceedLimit 频道已达到并发直播数量上限。必须先停止一个或多个已在直播的直播,然后才能在该频道上开始其他直播。
rateLimitExceeded (403) sharedIngestionBroadcastsExceedLimit 频道已达到共享接收来源的直播数量上限。必须停止其中一个或多个直播,才能开始请求的直播。
required (400) idRequired 必需的 id 参数必须标识您要转换其状态的直播。
required (400) statusRequired API 请求必须为 status 参数指定一个值。

试试看!

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