通过YouTube Live Streaming API获取我频道的“立即播出”流的当前liveBroadcast名称

时间:2019-09-08 17:33:27

标签: youtube-api youtube-livestreaming-api

我们开始使用YouTube的“立即播放流”功能,并注意到,尽管该功能具有静态的YouTube URL(即YouTube.com/channel-name/live),但当新的流结束时,广播/视频ID会发生变化,新的开始了。

是否可以通过YouTube API通过即时流功能了解我的频道流的当前liveBroadcast /视频ID?

在此期间,是否有一种方法可以使Stream Now中的此广播名称保持不变并且始终不变?这样可以为所有流重复使用相同的嵌入代码。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以通过在liveBroadcast / list的请求中将 broadcastType 设置为 persistent ,来检索“立即播送”广播。

GET https://www.googleapis.com/youtube/v3/liveBroadcasts?part=id%2Csnippet%2C%20status%2C%20contentDetails&broadcastStatus=all&broadcastType=persistent&key=[YOUR_API_KEY] HTTP/1.1

Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json

但是,在“立即流”流结束之后,广播将转换为视频,并且您必须创建一个新的实时流。它没有记录,但是我发现可以通过仅将“ isDefaultBroadcast” 参数设置为 true

来调用liveBroadcast / insert来实现此目的。
POST https://www.googleapis.com/youtube/v3/liveBroadcasts?part=id%2Csnippet%2C%20status%2C%20contentDetails&key=[YOUR_API_KEY] HTTP/1.1

Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json
Content-Type: application/json

{
  "snippet": {
    "isDefaultBroadcast": true
  }
}

我希望能对您有所帮助,由于Youtube Live API的文档不正确,我花了很多时间才找到它。