我们开始使用YouTube的“立即播放流”功能,并注意到,尽管该功能具有静态的YouTube URL(即YouTube.com/channel-name/live),但当新的流结束时,广播/视频ID会发生变化,新的开始了。
是否可以通过YouTube API通过即时流功能了解我的频道流的当前liveBroadcast /视频ID?
在此期间,是否有一种方法可以使Stream Now中的此广播名称保持不变并且始终不变?这样可以为所有流重复使用相同的嵌入代码。
谢谢!
答案 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的文档不正确,我花了很多时间才找到它。