Получение идентификатора видео из плейлиста 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
Там вы заметите, что каждый "элемент" в списке воспроизведения имеет идентификатор, соответствующий записи в фиде, и раздел видео с собственным идентификатором.