Youtube api 正在YouTube v3 API中检索所有新订阅视频

Youtube api 正在YouTube v3 API中检索所有新订阅视频,youtube-api,Youtube Api,我需要知道YouTube数据API v3中的等效请求,作为检索所有新订阅视频的v2请求 https://gdata.youtube.com/feeds/api/users/default/newsubscriptionvideos 我没有看到任何简单而干净的请求像v2版本的请求那样简单没有完全相同的请求,但您可以接近 然后使用=upload对其进行过滤。您可以使用Youtube V3 API检索此信息,但效率极低: 首先从用户名中获取通道ID(一个请求) 现在获取通道的订阅(可批处理-每5

我需要知道YouTube数据API v3中的等效请求,作为检索所有新订阅视频的v2请求

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

我没有看到任何简单而干净的请求像v2版本的请求那样简单

没有完全相同的请求,但您可以接近


然后使用=upload对其进行过滤。您可以使用Youtube V3 API检索此信息,但效率极低:

  • 首先从用户名中获取通道ID(一个请求)
  • 现在获取通道的订阅(可批处理-每50个SUB一个请求)
  • 现在获取每个订阅频道的播放列表(可批处理-每50个SUB一个请求)
  • 获取每个频道的“上载”系统播放列表的最新播放项目。(每个分包一个请求)
  • 获取与每个播放项目相关的视频(可批处理-一次请求50个播放项目)
现在,您可以按发布日期对视频进行排序,并打印最近的视频

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

与使用活动相比,此方法确实有一些好处:

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

一个完整的Python实现是可用的:

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

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

  • 使用订阅API获取通道ID
  • 对于每个频道id,将搜索id与
    channelId
    publishedAfter
    publishedBefore
    参数一起使用
  • 然后筛选出包含
    项的结果。长度==0
  • 现在,您可以只过滤订阅频道上传的最新视频


    编辑:搜索API成本为100配额:

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

    播放列表项目API费用为3个配额:

    除了指定资源部分的成本外,调用此方法的配额成本为1个单位

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


    或者,为了能够通过发布日期(如搜索API)进行过滤,请使用活动API,该API在之前发布了
    并且在
    之后发布了
    参数。

    是否仍有可过滤的代码段。type=在请求本身中上载?目前正在进行更新。您可以从这里跟踪它:非常感谢!我将遵循此解决方案。此解决方案似乎无法检索所有上次上载的视频(我错过了其中一些)
    home
    现在已被弃用。您还可以执行
    搜索
    ,以避免获取播放列表和播放项目,从而减少请求。然而,使用这种方法,配额消费将爆炸式增长。Alistair的方法在目前看来仍然是最好的。这一切都是因为Google不赞成YouTube API中的
    活动
    列表中的
    home
    参数。也许这可以起作用:1)通过yt API获得用户订阅2)获取所有频道ID并发出请求:{}3)在日期之前订购4)????5) $$$利润$$$