如何获取用户流的状态?

How can I get the status of a user's stream?

我正在构建一个可以在 YouTube 流上线时告诉人们的东西。为了构建它,我需要 知道 流何时上线,无论是通过推送通知、轮询还是其他一些方法。

在 Twitch 中,它是 dead easy. All you have to do is send a GET to https://api.twitch.tv/kraken/streams/[STREAMER_USERNAME_HERE],你会得到一个 JSON 对象,其中包含你希望知道的一切(在你的浏览器中尝试一下,太棒了)。我梳理了 YouTube 流媒体和数据 API's,似乎没有任何接近此功能的东西存在。

我知道当直播开始时,某处某处会发出警报,因为当我订阅的人开始直播时,我的 phone 会收到通知。但是,如果 API 中没有 public 调用,我别无选择,只能每隔几秒钟从页面上抓取 HTML,这对我和 YouTube 都不利.

此外,YouTube 的 push notification API for regular videos famously doesn't work [1] [2] [3] [4] 和每个开发者都只能使用已弃用的 XML 供稿(更新有时会慢一个小时)或删除 HTML youtube.com 页( 当前的即时更新解决方案)。因此,即使我错过了 API 之外的某些内容,如果它实际上不起作用,那也没有实际意义。

也就是说,我是不是漏掉了什么?如果流上线,是否可以收到通知?如果没有,这对 YouTube 和 Twitch 来说是一个交易破坏者。

目前无法通过 public YouTube API 执行您要求的操作。

您只能检索有关您自己的 liveStreamliveBroadcast 对象的信息,不能检索任何其他人的信息。此外,没有 public API 在另一个用户上线时收到通知。