Sorting Youtube API result from playlist

I have been struggling with Youtube's API v3 now and I can't get it work in the way I want. My goal is to load the latest videos from a selected playlist into my website. The problem is that I only the the oldest videos in my response.

To load the playlist I request following API URI: https://www.googleapis.com/youtube/v3/playlistItems

Here is an example of a request (just click execute): http://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list?part=id%252Csnippet%252CcontentDetails%252Cstatus&playlistId=PLOU2XLYxmsIKGo-dgliIJQNZ6L3G8UV4b&_h=1&

How can a sort the result and get the latest videos first? I can't find anything in the docs and I have been googling without any luck. There is no point with this API if you can't sort the result. The only way is to load all videos by keep loading the next page by token but that is just insane.

Any idea? Sounds like a basic problem but I can't find a solution...


The current API doesn't have a sorting option for listing playlist items, but if you are inserting the items programmatically, you can specify the position value when inserting to make new videos appear at the top of the list.

If it's someone else that is adding the videos, than you'll have to get all pages. Since the playlists are limited to 200 items, this requires 4 requests at most. Not ideal, but it's the only option now.


This does seem to be a limitation currently of the YouTube API and seems quite short-sighted by its creators.

This doesn't solve your exact problem, but for others having a similar problem, I found that using the 'search' query you can order to a certain extent.

This helped me order a playlist (not playlistItems) query by searching for playlists rather than requesting a list of playlists. Thus my query:

https://www.googleapis.com/youtube/v3/playlists?part=snippet&maxResults=20&channelId={channelID}&key={API_KEY}

became:

https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&order=date&safeSearch=none&maxResults=20&channelId={channelID}&key={API_KEY}

You can also search for videos and query terms and several other parameters, so maybe you can get the results you want this way.


您必须在查询中指定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/28982.html

上一篇: 通过Json的趋势,可能吗?

下一篇: 对播放列表中的Youtube API结果进行排序