2013-10-28 144 views
21

我需要知道YouTube Data API v3中的同等请求,作为此v2请求来检索所有新订阅视频。检索YouTube v3中的所有新订阅视频API

https://gdata.youtube.com/feeds/api/users/default/newsubscriptionvideos 

我还没有看到,是因为reques V2版本一样简单

回答

7

没有完全等效的任何简单干净的请求,但你可以亲近

youtube.activities.list(part=”snippet”, home=true)

然后过滤所述一个与snippet.type =上传

+0

反正是有筛选的snippet.type =上传请求本身? – SARose

+4

作品中有更新。您可以从这里跟踪它:https://code.google.com/p/gdata-issues/issues/detail?id=3946 –

+0

非常感谢!我会遵循它。 – SARose

19

,可以检索与该YouTube V3 API此信息,但它是非常低效的:

  • 首先从用户名(一个请求)得到的信道ID。
  • 现在获取该频道的订阅(可批量订购 - 每50个订阅一个请求)。
  • 现在获取每个订阅频道的播放列表(可批量处理 - 每50个子文件一个请求)。
  • 获取每个频道“上传”系统播放列表的最新播放列表项。 (每个子请求一个)。
  • 获取与每个playlistItem(可批量处理 - 一个请求50 playlistItems)相关的视频。

您现在可以通过发布日期对视频进行排序并打印最近的日期。

如果您有100个订阅并从每个频道获取5个视频,这将导致114个API请求并使用约500个配额单位(每日限额为5000万个单位)。如果不平行化API调用,也需要大约2分钟的时间才能运行。

这种方法确实有几个好处比使用activites虽然:

  • 可以为公共帐户设置,不只是身份验证的用户的任何用户做到这一点,所以它的工作原理就像在该V2 API尊重。
  • 它不会像Youtube主页那样随机丢失视频。

一个完整的Python实现可用:https://github.com/ali1234/ytsubs

+14

什么是痛苦... – jpprade

+1

你也可以做一个“搜索”,以避免播放列表和播放列表项,这会导致较少的请求。但是,配额消费会以这种方式爆炸。 阿利斯泰尔的方法现在似乎仍然是最好的。 –

+1

所有这一切都是因为Google不赞成'''activities'''列表YouTube API中的'''home'''参数。 – Supertecnoboff

相关问题