@dojdimon

Как суммировать просмотры всех видео в плейлисте Youtube?

https://gdata.youtube.com/feeds/api/playlists/8BCDD04DE8F771B2?v=2&alt=json

Нужно взять значение каждого viewCount в плейлисте и суммировать их. Плейлисты могут быть любой длины. Пытаюсь делать вот так:

<?php
$youtube_view_count = json_decode(file_get_contents('https://gdata.youtube.com/feeds/api/playlists/PL7FC6D85A4AE63E21'))->entry->{'yt:statistics'}->viewCount;

$elem = new SimpleXMLElement($youtube_view_count);
$a = viewCount;
foreach ($elem as $a){ 
printf($a->count());
}
?>


Но ничего не выходит.
  • Вопрос задан
  • 3079 просмотров
Решения вопроса 1
Вы получаете JSON, а потом все это пытаетесь распарсить как XML. Потому и не выходит.

Немного костыльно, но как-то так:
$playlist = file_get_contents('https://gdata.youtube.com/feeds/api/playlists/8BCDD04DE8F771B2?v=2&alt=json');
$playlist = str_replace('yt$statistics', 'yt_statistics', $playlist);
$playlist = json_decode($playlist);
$entries = $playlist->feed->entry;
$views = 0;
foreach ((array)$entries as $entry) {
	$views += $entry->yt_statistics->viewCount;
}
echo $views;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы