YouTube API 返回错误的结果计数

YouTube API returning wrong result counts

由于 http://gdata.youtube.com/feeds/api/videos?author=[channel]&start-index=[index] 上的旧供稿不再可用,我不得不切换到官方 YouTube API 以获取频道上所有视频的列表。但是,我 运行 发现这个 API 没有 return 频道上正确的视频计数。这也导致无法使用 pageToken,因为 none 是 returned。

预期的结果是总共有 159 个视频,但是,在大约 50% 时,API 告诉我只有 16 个视频。

我正在使用以下 url:

https://www.googleapis.com/youtube/v3/search?key=*****&channelId=UCsuBLfTDK4Hjn9Q6AYPwGqQ&part=snippet,id&order=date&maxResults=25

由于 16 低于每个请求的最大结果数量,我不会有一半时间需要 nextPageToken 来分页并获取每条记录的列表,这使得这个 API 在制作..

我能做些什么来解决这个问题,还是 YouTube 方面的问题?或者还有什么我可以替代的吗?我只需要某个频道上每个视频的视频 ID。

首先,获取您上传的播放列表的 ID:

GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id=CHANNEL_ID&key=API_KEY

ID应该在'uploads'.

然后,您可以使用playlistItems list方法:

GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=PLAYLIST_ID&key=API_KEY

并获取来自 totalResults 的视频数量。

或者,您可以使用 playlistItems documentation 获取已上传视频的列表。