对播放列表中的Youtube API结果进行排序

现在我一直在苦于使用Youtube的API v3,并且无法按照自己的方式工作。 我的目标是将所选播放列表中的最新视频加载到我的网站中。 问题是我只有我的回复中最老的视频。

要加载播放列表,我请求以下API URI:https://www.googleapis.com/youtube/v3/playlistItems

以下是请求示例(只需点击执行):http://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list?part=id%252Csnippet%252CcontentDetails%252Cstatus&playlistId= PLOU2XLYxmsIKGo-dgliIJQNZ6L3G8UV4b&_h = 1&

如何排序结果并获得最新的视频? 我无法在文档中找到任何内容,并且我一直在没有任何运气的情况下使用Google搜索。 如果无法对结果进行排序,则此API没有意义。 唯一的方法是通过继续按标记加载下一页来加载所有视频,但这只是疯狂的。

任何想法? 听起来像一个基本问题,但我找不到解决方案...


当前的API没有用于列出播放列表项目的排序选项,但是如果要以编程方式插入项目,则可以在插入时指定position值以使新视频出现在列表顶部。

如果是其他人添加视频,则需要获取所有网页。 由于播放列表限制为200项,因此最多需要4个请求。 不理想,但现在是唯一的选择。


这看起来似乎是目前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}

您还可以搜索视频和查询条件以及其他几个参数,所以也许您可以通过这种方式获得您想要的结果。


您必须在查询中指定playlistID和channelID,如下所示:

https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&order=date&maxResults=20&playlistId={playlistID}&channelId={channelID}&key={API_KEY}
链接地址: http://www.djcxy.com/p/28981.html

上一篇: Sorting Youtube API result from playlist

下一篇: Why is the Youtube V3 Data API only returning 1 video result for this channel?