如何从YouTube频道获取实时视频ID

时间:2019-09-18 10:38:10

标签: rest google-api youtube-api

YouTube API eventType = live 无法正常工作,有人知道为什么吗?

 https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCmyKnNRH0wH-r8I-ceP-dsg&eventType=live&type=video&key=   

没有eventType的情况下工作正常(但不是现在):

https://www.youtube.com/embed/live_stream?channel=UCmyKnNRH0wH-r8I-ceP-dsg&autoplay=1

2 个答案:

答案 0 :(得分:3)

好像YouTube更改了API中的某些内容,自上周末以来,search.list确实没有返回直播。

如果您具有用户的访问令牌,则可以使用{{1}}  端点以检索是否有直播。

如果您没有用户的访问令牌,则可以尝试this回答 但我没有检查它是否有效

无论如何,这个问题看起来像是this问题的重复

答案 1 :(得分:0)

目前,YouTube API无效,专门用于检索特定channelId的实时流。换句话说,如果您在API调用中设置channelId,则会得到0个结果。

如果您使用的是API密钥而不是OAuth(不确定OAuth是否有效),则目前唯一的解决方法是使用API​​搜索特定标题。这是我下面的查询网址。

https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&type=video&maxResults=20&order=date&q=My+Uniquely+Titled+Livestream&key=[apiKey]

API返回的结果将来自所有YouTube。 (注意:其余工作在服务器端完成)将结果放入数组中,并丢弃所有与您的channelId不匹配的结果。然后检查数组中的标题,仅获得与所需标题匹配的视频ID。这是基本的逻辑,是一种僵化的工作,对于大多数人来说是行不通的。但是至少在Google修复API之前,它将满足您的需求。