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 API provides the ability to retrieve feeds related to videos, users, and playlists. It also provides the ability to manipulate these feeds, such as creating new playlists, adding videos as favorites, and sending messsages.
With the YouTube Data API, you can add a variety of YouTube features to your application. Use the API to upload videos, manage playlists and subscriptions, update channel settings, and more.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With