如何使用 YouTube API v3 检索多个用户最近的视频

How to retrieve multiple user's recent videos using the YouTube API v3

提问人:Jeff 提问时间:2/10/2017 更新时间:2/10/2017 访问量:227

问:

第一次深入研究 v3 YouTube API,有点挣扎。我有一个频道 ID 数组:

$channel_ids = [
    'UC6nSFpj9HTCZ5t-N3Ra3-HB',
    'UC6nSFpjSEBUCZ5t-N3Ra3-HB',
    'UC6nrst90rsd3Z5t-N3Ra3-HC',
    'UC6nSFpjd329th0rt-tuTH3-HA',
    etc...
]

我想用尽可能少的 http 请求检索这些频道在过去三天内发布的视频。

我需要返回的数据是:

  • 频道标题 (channelTitle)
  • 视频 ID (videoID)
  • 视频标题 (title)
  • 视频年龄 (publishedAt)
  • 视频长度 (?)
  • 视频观看次数 (?)
  • 任何频道徽标都很好,但我可以没有

我不知道如何返回视频长度或观看次数。 似乎它一次只能做一个通道 ID。 不起作用,因为它需要视频 ID,而不是频道 ID。 可能有效,但需要我查找频道的播放列表并存储它,这 = 一个额外的呼叫 * 频道数。也许这就是谷歌希望你这样做的方式?这就是我在这里问的原因。/search/search/videosplaylistItemsvideos

我正在寻找一些一般的指导,而不是寻找任何人为我编写代码。

FWIW,我在PHP工作。

php 谷歌 youtube api

评论

0赞 Jeff 2/10/2017
是的,所以,嗯......在四处挖掘之后......Google 并没有设计此 API 来限制对其服务器的请求。

答:

0赞 johnh10 2/10/2017 #1
  1. 对于每个频道,您需要在 3 天前使用 publishedAfter 参数调用 Search:list。存储结果中的 videoID。

  2. 现在,批量调用 Videos:list,其中 id 参数一次最多包含 50 个 videoID,part 参数包含 snippet、contentDetails 和 statistics。这将为您提供所需的数据结果。

您也可以使用像 Video Blogster 这样的插件来自动化此操作。

评论

0赞 Jeff 2/10/2017
我正在做你所描述的。不幸的是,将会有很多对 youtube API 的调用。这是没有办法的。您提到的“Video Blogster”插件似乎是一个WP插件。您知道任何模拟该过程的PHP库吗?