在 youtube 中分页 API V3

Paginating in youtube API V3

我是 youtube 的新手 API V3 现在我可以获取一些用户的视频并在我的网站上显示它们但是现在当结果超过 50 个视频时我想为他们做一个分页让假设我的结果是 240,所以我现在有 5 页 我如何在不通过链接 1、2 或 3 的情况下请求第 4 页 这是我的列表请求:-

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=UUdxi8d8qRsRyUi2ERYjYb-w&key={myKey}

有一个页面令牌允许我浏览链接,但这意味着我必须使用下一个和上一个请求 那么有什么方法可以直接加载第 4 页吗?

无法直接加载特定页面,您需要为每个页面调用 API 和 nextPageToken(在您的示例中为 4 次)。

我不推荐这种方法,但出于完整性考虑将其包括在内,因为它提供了问题的直接解决方案,而另一个答案提供了替代方案。

无论播放列表或访问日期如何,Youtube 似乎都使用相同的 pageToken。例如,第二页的 pageToken 总是 CDIQAA,第三页的 CGQQAA,等等

这些不能保证始终保持不变,但根据早在 2014 年的 Whosebug 帖子,它已经很长时间没有改变,所以这是一个合理的假设。

因此您可以像往常一样请求前五个页面,然后保留页面标记(例如在本地缓存中)。然后每当你需要例如以后的第 240 项,只需查找第 5 页令牌(恰好是 CMgBEAA)并直接访问该页面。

这是第 9 页的标记:

1 <blank>
2 CDIQAA 
3 CGQQAA
4 CJYBEAA
5 CMgBEAA
6 CPoBEAA
7 CKwCEAA
8 CN4CEAA
9 CJADEAA