LiveBroadcasts: transition

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

常见使用场景

请求

HTTP 请求

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

授权

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

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

参数

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

参数
必需参数
broadcastStatus string
broadcastStatus 参数用于标识广播要更改为的状态。请注意,如需将广播转换为 testinglive 状态,则广播要绑定到的数据流的 status.streamStatus 必须为 active

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

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

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

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

请求正文

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

响应

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

错误

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

错误类型 错误详情 说明
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 用户在指定时间范围内发送的请求过多。
required (400) idRequired 必需的 id 参数必须标识您想要转换其状态的广播。
required (400) statusRequired API 请求必须为 status 参数指定一个值。

试试看!

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