更改 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 | 
      stringbroadcastStatus 参数用于标识广播要更改到的状态。请注意,如需将广播转换为 testing 或 live 状态,则广播所绑定的串流的 status.streamStatus 必须为 active。可接受的值包括: 
  | 
    |
id | 
      stringid 参数用于指定正在转换为其他状态的广播的唯一 ID。 | 
    |
part | 
      stringpart 参数用于指定一个逗号分隔列表,其中包含 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 | 
      用户在指定时间范围内发送的请求过多。 | 
required (400) | 
      idRequired | 
      必需的 id 参数必须指明您要转换状态的广播。 | 
    
required (400) | 
      statusRequired | 
      API 请求必须为 status 参数指定值。 | 
    
试试看!
使用 APIs Explorer 调用此 API,并查看 API 请求和响应。