Youtube API v3 从给定频道获取每个视频 ID

Posted

技术标签:

【中文标题】Youtube API v3 从给定频道获取每个视频 ID【英文标题】:Youtube API v3 get every Video ID from given channel 【发布时间】:2018-10-16 09:23:27 【问题描述】:

目前我正在使用它来获取来自给定频道的 videoID 列表:

获取https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&channelId=CHANNEL_ID&type=video&maxResults=50&key=API_KEY

这可行,但是我想从中获取视频的频道在线上有超过 50 个视频。我已经看过这个问题YouTube API to fetch all videos on a channel,但每个解决方案再次在线获取最多 50 个视频。

我怎样才能获得每个视频,而不仅仅是 50 个?

【问题讨论】:

YouTube API to fetch all videos on a channel的可能重复 不,每个解决方案都只列出 50 个视频,再次 您是否将maxResults 参数设置为大于您频道中的视频数量?并在请求中使用了上传 ID 作为频道 ID? 【参考方案1】:

所以我有一个解决方案:

(1) 首先,我使用https://www.googleapis.com/youtube/v3/channels?id=CHANNEL_ID&key=API_KEY&part=contentDetails 来获取Uploads Playlist 的id。

(2) 使用https://www.googleapis.com/youtube/v3/playlistItems?playlistId=UPLOAD_ID&key=API_KEY&part=snippet&maxResults=50 我得到前 50 个结果和一个 pageToken。

(3) 使用令牌,我可以从下一页收集 ID: https://www.googleapis.com/youtube/v3/playlistItems?playlistId=UPLOAD_ID&key=API_KEY&part=snippet&pageToken=PAGE_TOKEN&maxResults=50

(4) 通过使用递归方法,我可以使用从(3)中得到的下一个Token来扫描下一页。

【讨论】:

【参考方案2】:

以下是 YouTube 开发者频道中的一段视频,它确实帮助了我:https://youtu.be/RjUlmco7v2M。它是针对从 v2 迁移到 v3 的人(我不是),但我一直在观察并学到了很多东西。

【讨论】:

以上是关于Youtube API v3 从给定频道获取每个视频 ID的主要内容,如果未能解决你的问题,请参考以下文章

您能否从 API 的用户名中获取 YouTube 频道 ID?

Youtube api v3 无法从频道中检索所有视频

如何通过 YouTube Data API v3 从我自己的 YouTube 频道获取所有视频

youtube api v3 从比视频更新的频道中获取所有视频

YouTube Data v3 API - 如何从频道请求所有视频?

如何使用 YouTube API V3 获取频道