PHP: Как разобрать ассоциативный массив, полученный из ответа JSON на YouTube? - PullRequest
0 голосов
/ 13 декабря 2011

То, что я пытаюсь сделать, это получить информацию о видео для каждого видео с канала YouTube и просто распечатать их на странице, есть только 15 видео, поэтому оно должно быть в пределах ограничений.

Я прочитал несколько учебных пособий на веб-сайтах и ​​много вопросов SO, но я все еще не могу собрать то, что мне нужно: /

Следующие мои попытки пока:

<code>$url = 'http://gdata.youtube.com/feeds/api/videos?max-results=20&alt=jsonc&orderby=published&format=5&safeSearch=none&author=OpticalExpressUK&v=2';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, $url);
$body = curl_exec($ch);
curl_close($ch);
$data = json_decode($body, true);

echo '<pre>'; 
var_dump($data);
echo '
';// пытаемся получить что-то из массива!echo $ data [1] ['title'];

Основой этого послужили: php youtube json decode

Я также рассмотрел Циклический код с использованием PHP

Мой идеальный вывод будет выглядеть примерно так:

Video Title

Video Description

Rating

Anything else useful that is returned in the json response.

Embedded video

Я знаю, что возможно получить прямую ссылку только на видео, но, прочитав об этом, я уверен, что смогубыть в состоянии внедрить его, если бы я мог получить это так далеко.

Я также изменил json в URL-адресе на 'jsonc', кажется, есть большая разница между тем, что каждый возвращает, причинаЯ изменился, потому что я уверен, что на YouTube написано использовать jsonc?

Любая помощь очень ценится!

Ответы [ 2 ]

1 голос
/ 15 декабря 2011

В соответствии с вашей пастой на http://pastebin.com/eZ6U3RmS правильный код будет:

foreach($data['data']['items'] as $item) {
    echo $item['title'];
    echo $item['description'];
    echo $item['rating'];
    echo $item['player']['default'];
    // whatever you need....
}
0 голосов
/ 13 декабря 2011

запрос к: http://gdata.youtube.com/feeds/api/videos/[VIDEO_ID_HERE] даст вам ответ xml со всеми видеоданными. Возможно, это поможет вам

...