Получение идентификатора видео из плейлиста JSON youtube-api

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

$playlist_id = "bKIMlqJAz6GSqtm2x2rFQuIa8NKEhCTa";
$url = "https://gdata.youtube.com/feeds/api/playlists/".$playlist_id."?v=2.1&alt=json";
$data = json_decode(file_get_contents($url),true);
$info = $data["feed"];
$video = $info["entry"];
$nVideo = count($video);

echo "Playlist Name: ".$info["title"]['$t'].'<br/>';
echo "Number of Videos (".$nVideo."):<br/>";

for($i=0;$i<$nVideo;$i++){
echo "ID: ".$video[$i]['id']['$t'].'<br/>'; // this line causing problems
echo "Name: ".$video[$i]['title']['$t'].'<br/>';
echo "Link: ".$video[$i]['link'][0]['href'].'<br/>';
echo "Image: <img src='".$video[$i]['media$group']['media$thumbnail'][1]['url']."' /><br />";
}

Все отлично работает, Дуди Дудей. За исключением того, что я не могу получить удостоверение личности.

Идентификатор возвращает, например, эту кучу мусора; ID: тег:youtube.com,2008: плейлист:bKIMlqJAz6GSqtm2x2rFQuIa8NKEhCTa:PLLdE_Ow1C_Zv2bmDW9Yj8Foj4dKO3C4BJthoFmebTFUs

вместо LFRRGYNOUqs, который корректно возвращается по ссылке и заголовку.

У меня есть поиск в документации Google. Похоже, что $video[$i]['id'] - это объект, который мне нужен.

Так почему же возвращается эта строка, а не мой идентификатор видео?

1 ответ

Согласно API для XML-части (версия "json" в основном такая же): "Тег задает URN, который однозначно и постоянно идентифицирует канал или запись канала".

https://developers.google.com/youtube/2.0/reference

В вашем случае вы могли бы использовать $video[$i]['media$group']['yt$videoid']['$t'],

Возможно, вы захотите использовать "jsonc" вместо "json", он возвращает данные, отформатированные специально для json, вместо транскрипции версии xml. т.е. https://gdata.youtube.com/feeds/api/playlists/bKIMlqJAz6GSqtm2x2rFQuIa8NKEhCTa?v=2.1&alt=jsonc

Там вы заметите, что каждый "элемент" в списке воспроизведения имеет идентификатор, соответствующий записи в фиде, и раздел видео с собственным идентификатором.

Другие вопросы по тегам