Получение количества просмотров отдельных видео — Youtube API V3.0 — JavaScript

#youtube #youtube-api #youtube-javascript-api #youtube-data-api

#YouTube #youtube-api #youtube-javascript-api #youtube-data-api

Вопрос:

Я пытался получить количество просмотров для видео, которые я запрашиваю, с помощью следующего метода:

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

         });

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

Хотя в документации говорится, что statistics для каждого видео есть часть, после snippet того, как у меня есть __proto__ , что, я думаю, означает, что где-то произошла ошибка? или изменился API? По сути, мне нужно количество просмотров этих 25 самых последних видео…

Я попытался изменить part: 'snippet' part: 'statistics' , но получил обратно code: -32602

Спасибо за помощь,

Приветствия!

РЕДАКТИРОВАТЬ: по-видимому search.list , у него нет «статистики», а мне нужно искать каждое видео по отдельности… Дело в том, что при использовании функции googles «Попробуйте» (https://developers.google.com/youtube/v3/docs/videos/list#try-it ) когда вы запрашиваете статистику в разделе «Поля» внизу, она ничего не делает… Поэтому я ОЧЕНЬ смущен тем, как, черт возьми, я могу получить количество просмотров и длину всех 25 видео (если по отдельности или все сразу — желательно-)

Ответ №1:

Ссылка, которую вы дали https://developers.google.com/youtube/v3/docs/videos/list#try-it работает на меня. Чтобы получить продолжительность и количество просмотров: заполните часть: contentDetails, статистику и идентификатор: разделенный запятыми список идентификаторов видео, например: TruIq5IxuiU,-VoFbH8jTzE,RPNDXrAvAMg,gmQmYc9-zcg

Это создаст запрос в виде:

ПОЛУЧИТЬ https://www.googleapis.com/youtube/v3/videos?part=contentDetails,statisticsamp;id=TruIq5IxuiU,-VoFbH8jTzE,RPNDXrAvAMg,gmQmYc9-zcgamp;key={YOUR_API_KEY}

Комментарии:

1. Итак, если я правильно понимаю, мне нужно выполнить 2 запроса… 1) чтобы получить список видео с канала и 2) чтобы получить contentDetails каждого элемента?

2. @GalAppelbaum Да, список видео с канала представляет собой список воспроизведения. Элементы списка воспроизведения или результаты поиска не содержат полной информации о видео.

3. Спасибо за вашу помощь, босс!

4. Вот совет — если вы делаете это на Python, я обнаружил, что «список» означает не список Python, а длинную строку с запятыми между значениями.

Ответ №2:

Согласен с ответом, предоставленным @Als.

Но я нашел фрагмент кода, который может быть более удобным для некоторых из вас:

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

Замените значение ключа на ключ Google api для API данных YouTube, а идентификатор видео на идентификатор видео YouTube, и вуаля, вы получите общее количество просмотров видео на YouTube.

Источник: https: //www.codementor.io/rajharajesuwari/как получить количество просмотров на YouTube-aftojpxhj