Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get youtube trends v3 country wise in Json?

How to get youtube trends of most popular or most viewed by country wise in Json.

Previously using youtube feeds v2. It seems deprecated, https://gdata.youtube.com/feeds/api/standardfeeds/IN/most_popular?v=2

Can I get youtube api v3 or any other result like the trends dashboard, https://www.youtube.com/trendsdashboard

like image 904
saravanabawa Avatar asked May 27 '15 07:05

saravanabawa


2 Answers

As per YouTube guidelines, YouTube Feeds v2, is now deprecated. You should work with YouTube Data API v3.

For the most popular video:

https://www.googleapis.com/youtube/v3/videos?part=contentDetails&chart=mostPopular&regionCode=IN&maxResults=25&key=API_KEY

  1. part:

    • The part names that you can include in the parameter value are:
      • id, snippet, contentDetails, fileDetails, liveStreamingDetails, localizations, player, processingDetails, recordingDetails, statistics, status, suggestions, and topicDetails
  2. chart:

    • The chart parameter identifies the chart that you want to retrieve (string)
      • Example mostPopular
  3. regionCode:

    • The parameter value is an ISO 3166-1 alpha-2 country code (string)
  4. key:

    • Google Project API key
  5. maxResults : Default value 5 ,

Read More

like image 158
Ashish Chaturvedi Avatar answered Oct 20 '22 01:10

Ashish Chaturvedi


var maxVideos = 5;
   $(document).ready(function(){
  $.get(
    "https://www.googleapis.com/youtube/v3/videos",{
      part: 'snippet',
      chart: 'mostPopular',
      kind: 'youtube#videoListResponse',
      maxResults: maxVideos,
      regionCode: 'IN',
      key: 'Your_KEY_Here'},
      function(data){
        var output;
        $.each(data.items, function(i, item){
          console.log(item);
          videTitle = item.snippet.title;
                description = item.snippet.description;
                thumb = item.snippet.thumbnails.high.url;
                channelTitle = item.snippet.channelTitle;
                videoDate = item.snippet.publishedAt;
                Catagoryid = item.snippet.categoryId;
                cID = item.snippet.channelId;
          output = '<div class="maindiv"><div>' +
                        '<a data-fancybox-type="iframe" class="fancyboxIframe" href="watch.php?v=' + vidId + '" target="_blank" ><img src="' + thumb + '" class="img-responsive thumbnail" ></a>' +
                        '</div>' +
                        '<div class="input-group col-md-6">' +
                            '<h3 class="Vtitle"><a data-fancybox-type="iframe" class="fancyboxIframe" href="watch.php?v=' + vidId + '" target="_blank">' + videTitle + '</a></h3>'+
                        '</div><div  id="cTitle"><a href="https://www.youtube.com/channel/'+cID+'" target="_blank">'+channelTitle+'</a></div></div>' +
                    '<div class="clearfix"></div>';
          $('#trending').append(output);
        })

      }
    );
}); 

Save file as .js

And in HTML file make div or ul by id="trending"

like:

<div id="catagoryname"><h1>Trending</h1></div>
      <ul id="trending"></ul>

The check your out put.

  • Note Don't forget to Replace your API KEY
like image 3
Shahzaib Chadhar Avatar answered Oct 20 '22 03:10

Shahzaib Chadhar