创建视频流。通过该数据流,您可以将视频发送到 YouTube,然后 YouTube 可以将视频广播给您的观众。
常见应用场景
请求
HTTP 请求
POST https://www.googleapis.com/youtube/v3/liveStreams
授权
此请求需要获得以下至少一个范围的授权(详细了解身份验证和授权)。
| 范围 |
|---|
https://www.googleapis.com/auth/youtube |
https://www.googleapis.com/auth/youtube.force-ssl |
参数
下表列出了此查询支持的参数。列出的所有参数都是查询参数。
| 参数 | ||
|---|---|---|
| 必需参数 | ||
part |
stringpart 参数在此操作中具有两个用途。它用于标识写入操作将设置的属性以及 API 响应将包含的属性。您可以包含在 part 属性中的参数值包括 id、snippet、cdn、contentDetails 和 status。 |
|
| 可选参数 | ||
onBehalfOfContentOwner |
string此参数只能在经过适当授权的请求中使用。注意:此参数仅供 YouTube 内容合作伙伴使用。 onBehalfOfContentOwner 参数表示请求的授权凭据标识的是代表参数值中指定的内容所有者行事的 YouTube 内容管理系统用户。此参数适用于拥有和管理许多不同 YouTube 频道的 YouTube 内容合作伙伴。它允许内容所有者进行一次身份验证,即可访问其所有视频和频道数据,而无需为每个频道提供身份验证凭据。用户进行身份验证时使用的 CMS 账号必须与指定的 YouTube 内容所有者相关联。 |
|
onBehalfOfContentOwnerChannel |
string此参数只能在经过适当授权的请求中使用。此参数只能在经过适当授权的请求中使用。注意:此参数仅供 YouTube 内容合作伙伴使用。 onBehalfOfContentOwnerChannel 参数用于指定要向其添加视频的频道的 YouTube 频道 ID。当请求为 onBehalfOfContentOwner 参数指定值时,此参数是必需的,并且只能与该参数搭配使用。此外,请求必须使用与 onBehalfOfContentOwner 参数指定的内容所有者相关联的 CMS 账号进行授权。最后,onBehalfOfContentOwnerChannel 参数值指定的频道必须与 onBehalfOfContentOwner 参数指定的内容所有者相关联。此参数适用于拥有和管理许多不同 YouTube 频道的 YouTube 内容合作伙伴。它允许内容所有者进行一次身份验证,即可代表参数值中指定的频道执行操作,而无需为每个单独的频道提供身份验证凭据。 |
|
请求正文
在请求正文中提供 liveStream 资源。 对于该资源:
-
您必须为以下属性指定值:
snippet.titlecdn.frameRatecdn.ingestionTypecdn.resolution
-
您可以为以下属性设置值:
snippet.titlesnippet.descriptioncdn.frameRatecdn.ingestionTypecdn.resolutioncontentDetails.isReusable
响应
如果成功,此方法会在响应正文中返回 liveStream 资源。
错误
下表列出了 API 在响应对此方法的调用时可能会返回的出错提示。如需了解详情,请参阅错误消息文档。
| 错误类型 | 错误详情 | 说明 |
|---|---|---|
insufficientPermissions |
insufficientLivePermissions |
该请求无权创建指定的直播。 |
insufficientPermissions |
livePermissionBlocked |
授权该请求的用户目前无法在 YouTube 上直播实时视频。如需了解用户无法直播实时视频的原因,请访问 https://www.youtube.com/features 查看用户频道设置。 |
insufficientPermissions |
liveStreamingNotEnabled |
授权该请求的用户未获准在 YouTube 上直播实时视频。用户可以访问 https://www.youtube.com/features 了解详情。 |
invalidValue (400) |
invalidDescription |
liveStream 资源中的 snippet.description 属性的值最多可以包含 10000 个字符。 |
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 属性指定值。 |
试试看!
使用 APIs Explorer 调用此 API,查看 API 请求和响应。