Retrieving individual videos view count - Youtube API V3.0 - JavaScript

对着背影说爱祢 提交于 2019-11-27 01:20:57

问题


I've been trying to get the view count on videos that I query through the following method:

      function search() {
        var request = gapi.client.youtube.search.list({
             part: 'snippet',
             channelId: 'IRRELEVANT',
             order: 'date',
             maxResults: '25'

         });

            request.execute(function(response){
               YoutubeResponse(response);
            });

While the documentation tells me that there's a statistics portion to every video, after the snippet I have __proto__ which I guess means there was an error somewhere? or did the API change? Essentially I need the view count of those 25 most recent videos...

I tried changing part: 'snippet' to part: 'statistics' but got back a code: -32602...

Thanks for the help,

Cheers!

EDIT: Apparently the search.list doesn't have the "statistics" but rather I need to search every video individually... The thing is, when using googles "Try It" feature (https://developers.google.com/youtube/v3/docs/videos/list#try-it) when you ask for the statistics in the "Fields" part at the bottom, it doesn't do anything... So I am VERY confused as to how the heck can I get the view counts & length of all 25 videos (if individually or all at once - preferably-)


回答1:


The link you gave https://developers.google.com/youtube/v3/docs/videos/list#try-it is working for me. To get duration and viewCount: Fill in for part: contentDetails,statistics and for id: a comma-separated-list of video-id's like: TruIq5IxuiU,-VoFbH8jTzE,RPNDXrAvAMg,gmQmYc9-zcg

This will create a request as:

GET https://www.googleapis.com/youtube/v3/videos?part=contentDetails,statistics&id=TruIq5IxuiU,-VoFbH8jTzE,RPNDXrAvAMg,gmQmYc9-zcg&key={YOUR_API_KEY}




回答2:


Agree with the answer provided by @Als.

But I found a code snippet which might be more convenient for some of you:

function youtube_view_count_shortcode($params)
{
 $videoID = $params['id']; // view id here 
 $json = file_get_contents("https://www.googleapis.com/youtube/v3/videos? 
 part=statistics&id=" . $videoID . "&key=xxxxxxxxxxxxxxxxxxxxxxxx");
 $jsonData = json_decode($json);
 $views = $jsonData->items[0]->statistics->viewCount;
 return number_format($views);
}

Replace the key value with the google api key for youtube data API and the video id with the youtube video id and Voila you get the total number of views for the youtube video.

Source: https://www.codementor.io/rajharajesuwari/how-to-get-youtube-views-count-aftojpxhj



来源:https://stackoverflow.com/questions/24347078/retrieving-individual-videos-view-count-youtube-api-v3-0-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!