我现在一直在努力使用Youtube的API v3而且我无法以我想要的方式工作。我的目标是将选定播放列表中的最新视频加载到我的网站中。问题是我只是我回复中最早的视频。
要加载我请求以下API URI的播放列表: https://www.googleapis.com/youtube/v3/playlistItems
如何对结果进行排序并首先获取最新视频?我在文档中找不到任何内容,而且我一直在谷歌上搜索没有任何运气。如果您无法对结果进行排序,则此API没有任何意义。唯一的方法是通过令牌继续加载下一页加载所有视频,但这只是疯了。
有什么想法吗?听起来像是一个基本问题,但我无法找到解决方案......
答案 0 :(得分:12)
当前的API没有用于列出播放列表项目的排序选项,但如果您以编程方式插入项目,则可以在插入时指定position
值,以使新视频显示在顶部清单。
如果是其他人正在添加视频,那么您必须获取所有网页。由于播放列表限制为200个项目,因此最多需要4个请求。不理想,但它现在是唯一的选择。
答案 1 :(得分:6)
这似乎是目前YouTube API的一个限制,而且它的创作者似乎非常短视。
这并不能解决您的确切问题,但对于遇到类似问题的其他人,我发现使用了搜索'查询您可以在一定程度上订购。
这帮助我通过搜索播放列表而不是请求播放列表列表来订购播放列表(不是playlistItems)查询。因此我的查询:
https://www.googleapis.com/youtube/v3/playlists?part=snippet&maxResults=20&channelId={channelID}&key={API_KEY}
成为:
https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&order=date&safeSearch=none&maxResults=20&channelId={channelID}&key={API_KEY}
您还可以搜索视频和查询字词以及其他几个参数,这样也许您可以通过这种方式获得所需的结果。
答案 2 :(得分:0)
您必须在查询中指定播放列表ID和channelID,如下所示:
https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&order=date&maxResults=20&playlistId={playlistID}&channelId={channelID}&key={API_KEY}
答案 3 :(得分:0)
这是当前唯一可用的选项。您可以尝试在youtube帐户的播放列表设置中对顺序进行排序,而不必尝试从Http请求网址中对视频列表进行排序。
在“播放列表”设置中,您可以手动拖动并更改列表,也可以选择更改顺序。 Youtube Data API会在播放列表显示数据时输出数据。
摘要:更改youtube帐户中的播放列表顺序,而不是尝试使用http请求过滤数据。
仅供参考:播放列表设置只能由上传者的帐户更改 希望这会有所帮助。
答案 4 :(得分:0)
我遇到了同样的问题..而不是先使用API获取最新信息(似乎没有办法做到这一点),为什么不先对播放列表中的视频进行排序,然后使用API,该API将按照它们在播放列表中出现的顺序返回它们。
类似这样的事情: https://community.tubepress.com/topic/5624-how-to-customize-sort-order-of-youtube-playlists/