我想知道我的频道是否在youtube上播放。我使用的是带有php库的youtubeapiv3。我可以使用liveBroadcasts.list获得最后的广播,但当我开始使用OBS进行流媒体传输时,我将参数broadcastStatus设置为active,并且不会返回任何内容。我也尝试过liveStreams.list,但仍然一无所获。我不知道我做错了什么,有人能解释一下吗?:D
尝试使用search.list
,在这里您可以设置可选参数来搜索您需要的内容。与channelId
、eventType
一样,您可以将其设置为live以包括活动广播,以及type
参数,该参数限制搜索查询仅检索特定类型的资源。
阅读其他parameters
,了解更多关于其用途和描述的信息。
有关更多信息,您也可以查看这个SO问题:
-
使用YouTube API v3判断频道是否有直播
-
如何检查YouTube频道是否正在直播
请求url为:
GET https://www.googleapis.com/youtube/v3/liveBroadcasts?part=id%2Csnippet%2Cstatus&mine=true&broadcastStatus=active&key={YOUR_API_KEY}
您应该收到:
{"status":{ "lifeCycleStatus":"live"}}
您可以使用搜索API-类似这样的东西:
https://www.googleapis.com/youtube/v3/search?part=id&channelId={CHANNEL_ID_YOU_WANT_TO_QUERY}&type=video&key={YOUR_API_KEY}&eventType=live
然而,这可能需要3-5分钟才能在广播开始后显示广播视频的视频ID。这已经在另一个StackOverflow问题中讨论过:使用YouTube API v3来判断频道是否有直播