With Youtube api v2, there's easy way to get videos. Just send a query like this:
http://gdata.youtube.com/feeds/mobile/videos?max-results=5&alt=rss&orderby=published&author=OneDirectionVEVO
The Youtube api v2 also has an interactive demo page for building query: http://gdata.youtube.com/demo/index.html
With Youtube api v3, I don't know the corresponding way. Please point me the way with api v3.
Thank you!
Yes, using the YouTube API does not incur any monetary cost for the entity calling the API. If you go over your quota an 403 Error will be returned by the API.
The channels#list method will return a JSON with some information about the channel, including the playlist ID for the "uploads" playlist:
https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=OneDirectionVEVO&key={YOUR_API_KEY}
With the playlist ID you can get the videos with the playlistItems#list method:
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=UUbW18JZRgko_mOGm5er8Yzg&key={YOUR_API_KEY}
You can test those at the end of the documentation pages.
This should do it. This code just gets and outputs the title but you can get any details you want
// Get Uploads Playlist $.get( "https://www.googleapis.com/youtube/v3/channels",{ part : 'contentDetails', forUsername : 'USER_CHANNEL_NAME', key: 'YOUR_API_KEY'}, function(data) { $.each( data.items, function( i, item ) { pid = item.contentDetails.relatedPlaylists.uploads; getVids(pid); }); } ); //Get Videos function getVids(pid){ $.get( "https://www.googleapis.com/youtube/v3/playlistItems",{ part : 'snippet', maxResults : 20, playlistId : pid, key: 'YOUR_API_KEY'}, function(data) { var results; $.each( data.items, function( i, item ) { results = '<li>'+ item.snippet.title +'</li>'; $('#results').append(results); }); } ); } <!--In your HTML --> <ul id="results"></ul>
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