使用Youtube API从一些Youtube频道获取后期视频



我正试图建立一个网站(为我自己(,向我展示youtube上20个频道的5个最新视频。所以我在下面的请求中为每个特定的通道使用:

https://www.googleapis.com/youtube/v3/search?key={API_KEY}&channelId={CHANNEL_ID}&part=snippet,id&order=date&maxResults=5

每个请求成本100个单位,20个频道是2000个单位,我只有10000个单位/天,因为youtube API的配额。因为我试图弄清楚它是如何工作的,有时也会出现错误,所以我多次使用同一个请求,我的配额很快就用完了。

因此,我的问题是:有没有办法替换SEARCH请求中的CHANNEL/VIDEOS(列表(请求,以降低请求的成本(此成本仅为1个单位(。或者可能是从所有20个频道获得所有5个视频的一个请求?

如果我的英语有任何错误,我很抱歉提前感谢大家。

您可以使用Activities.listAPI端点,查询时使用:

  • CCD_ 5
  • CCD_ 6
  • fields=items(snippet(type,publishedAt),contentDetails(upload))
  • publishedAfter=...

其中CHANNEL_ID在您的兴趣(因此N通道意味着N端点调用(。

您应该计算一个有意义的publishedAfter值来传递给端点。将此值附加到您在应用程序中监视的每个频道,并将其保持为1秒加上该频道最新视频对应的publishedAt属性的值。

初始化/重置此每个通道的日期时间值只需在发出不带publishedAfter参数的端点调用时完成。

根据文档,您将从该端点获得一个由Activities resource项组成的结果集,其中包含以下信息:

contentDetails.upload(对象(
上传对象包含有关上传视频的信息。仅当snippet.typeupload时,才存在此属性。

contentDetails.upload.videoId(字符串(
YouTube用于唯一标识上传视频的ID。

官方文档指出,对Activities.list端点的每次调用都有一个单位的配额成本。

最新更新