#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