15

我现在一直在努力使用 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&

如何对结果进行排序并首先获取最新视频?我在文档中找不到任何东西,而且我一直在谷歌搜索,但没有任何运气。如果你不能对结果进行排序,那么这个 API 就没有意义了。唯一的方法是通过令牌继续加载下一页来加载所有视频,但这太疯狂了。

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

4

4 回答 4

15

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

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

于 2014-04-06T18:24:49.630 回答
8

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

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

于 2015-01-21T11:10:22.780 回答
0

这是目前唯一可用的选项。您可以在 youtube 帐户的播放列表设置中对顺序进行排序,而不是尝试从 Http 请求 URL 中对视频列表进行排序。

在播放列表设置中,您可以手动拖动和更改列表,也可以选择更改顺序。Youtube Data API 会在播放列表显示数据时输出数据。

摘要:更改 youtube 帐户中的播放列表顺序,而不是尝试使用 http 请求过滤数据。

仅供参考:播放列表设置只能由上传者的帐户更改希望这会有所帮助。

于 2019-05-27T16:21:03.490 回答
0

我有同样的问题..而不是使用 API 来获得最新的第一(似乎没有办法做到这一点),你为什么不先对播放列表中的视频进行排序,然后使用 API这将按照它们在播放列表中出现的顺序返回它们。

像这样的东西: https ://community.tubepress.com/topic/5624-how-to-customize-sort-order-of-youtube-playlists/

于 2019-05-27T23:50:52.747 回答