我希望能够通过对 YouTube API 的一次调用来检查一组用户(最多 200 个左右)的最新视频(近乎实时或最多几分钟),然后将上传视频的 ID 存储在我自己的数据库中。我相信唯一的解决方案是YouTube SUP API,但我并不完全清楚它是如何工作的,想知道是否有人可以解释一下。我已经阅读了有关它的整个 API 文档,但仍然不完全清楚。
我假设可以调用 SUP URL(http://gdata.youtube.com/sup
)并检查用户哈希最近是否有任何活动,如果有,那就用它做点什么。我的问题是我不明白您如何解释 SUP 提要中["b305e88","afd4"]
的活动,有没有办法指定用户子集,或者您必须搜索整个提要?加载SUP提要似乎需要几秒钟。
在SUP API页面上,它还指出您可以访问诸如https://gdata.youtube.com/feeds/api/users/bbc/events?v=2
之类的URL,以获取用户提要的哈希密钥,但是如果您尝试访问它,则可以看到该链接似乎已断开。我还能如何获得哈希?
我目前想在使用 youtube_it gem 的同时在 Rails 项目中执行此操作,但我认为这不支持它。如果我错了,请纠正我。
编辑
我的错误。需要开发人员密钥才能获取用户的事件,例如https://gdata.youtube.com/feeds/api/users/bbc/events?v=2&key=YOUR_DEVELOPER_KEY
SUP 方法仍然没有进展,尽管我可能正在考虑使用频道并自动订阅每个用户。然后,每分钟我都会轮询用户的新视频列表。
我建议使用PubSubHubbub:http://apiblog.youtube.com/2010/10/pubsubhubbub-for-youtube-activities.html
每当更新您正在观看的其中一个提要时,Web 应用程序中的处理程序都会自动收到 POST,并且 POST 的内容将是更新的提要本身,从而省去了获取它的麻烦。
除了那篇博客文章之外,没有太多专门用于使用 PuSH 和 YouTube API 的文档,但一般的 PuSH 文档都适用:https://pubsubhubbub.appspot.com/
如果做不到这一点,SUP 应该仍然可以工作,所以如果你更愿意使用它,我们可以尝试进一步调试它。