【问题标题】:Retrieving all the new subscription videos in YouTube v3 API检索 YouTube v3 API 中的所有新订阅视频
【发布时间】:2013-11-07 13:54:27
【问题描述】:

我需要知道 YouTube Data API v3 中与此 v2 请求相同的请求,以检索所有新订阅视频。

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

我还没有见过任何像v2版本的reques一样简单干净的请求

【问题讨论】:

    标签: youtube-api


    【解决方案1】:

    您可以使用 Youtube V3 API 检索此信息,但效率极低:

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

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

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

    与使用活动相比,这种方法确实有几个好处:

    • 您可以为任何具有公共帐户设置的用户执行此操作,而不仅仅是经过身份验证的用户,因此在这方面它与 V2 API 一样工作。
    • 不会像 Youtube 主页那样随机丢失视频。

    提供完整的 Python 实现:https://github.com/ali1234/ytsubs

    【讨论】:

    • 您也可以使用search 来避免获取会导致请求减少的播放列表和播放列表项。但是,这种方法会导致配额消耗量激增。 Alistair 的方法在这个时候似乎仍然是最好的。
    • 这一切都是因为 Google 弃用了 activities 列表 YouTube API 中的 home 参数。
    • 也许这可行:1) 通过 yt api 获取用户订阅 2) 获取所有频道 ID 并提出请求:youtube.com/feeds/videos.xml?channel_id={} 3) 按日期订购 4) ???? 5) $$$ 利润 $$$
    【解决方案2】:

    没有完全等价的,但你可以接近

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

    然后用snippet.type = 上传过滤那个

    【讨论】:

    • 是否有过滤请求本身的 sn-p.type = upload 的方法?
    • 正在进行更新。你可以从这里追踪它:code.google.com/p/gdata-issues/issues/detail?id=3946
    • 非常感谢!我会遵守的。
    • 此解决方案似乎无法检索所有最后上传的视频(我错过了其中一些)
    • home 现已弃用。
    【解决方案3】:

    对于有兴趣在“今天”检索新上传的视频(例如在 /feed/subscriptions 中的操作方式)的任何人,请使用“搜索 API”(link)。

    在这种情况下,它需要 2 个 API。搜索 API 和订阅 API (link)

    1. 使用订阅 API 获取频道 ID
    2. 对于每个频道 ID,使用带有 channelIdpublishedAfterpublishedBefore 参数的搜索 ID。
    3. 然后过滤掉有items.length == 0的结果。

    那么现在,您可以只过滤订阅频道上传的最新视频。


    编辑:搜索 API 需要 100 个配额。:

    调用此方法的配额成本为 100 个单位。

    播放列表项 API 需要 3 个配额:

    除了指定资源部分的成本外,对该方法的调用还有 1 个单位的配额成本。

    所以...从“频道 API”缓存上传的播放列表 ID 并使用播放列表要便宜得多。

    或者要能够通过搜索 API 等发布日期进行过滤,请使用具有 publishedBeforepublishedAfter 参数的活动 API。

    【讨论】:

      猜你喜欢
      • 2015-08-16
      • 1970-01-01
      • 2016-08-30
      • 2014-05-15
      • 2021-02-01
      • 2015-07-22
      • 2013-09-19
      • 2013-09-11
      • 1970-01-01
      相关资源
      最近更新 更多