【问题标题】:Retrieving Video ID from youtube-api JSON playlist从 youtube-api JSON 播放列表中检索视频 ID
【发布时间】:2013-07-08 07:12:17
【问题描述】:

所以这里有一些代码可以将播放列表输出为列表,这样我就可以设置它的样式并加载播放器。目前我只想要一些原始数据,我可以看到我需要哪些数据。

$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 />";
}

一切正常,doodey doodey。除了我拿不到身份证。

ID例如返回这一堆垃圾; ID:tag:youtube.com,2008:播放列表:bKIMlqJAz6GSqtm2x2rFQuIa8NKEhCTa:PLLdE_Ow1C_Zv2bmDW9Yj8Foj4dKO3C4BJthoFmebTFUs

而不是链接和标题正确返回的 LFRRGYNOUqs。

我搜索了 Google 的文档,似乎 $video[$i]['id'] 是我需要的对象。

那么为什么返回那个字符串而不是我的视频 ID?

【问题讨论】:

    标签: json youtube-api playlists


    【解决方案1】:

    根据xml部分的api(“json”版本基本相同):“标签指定一个URN,唯一且永久地标识一个feed或feed entry。”

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

    在你的情况下,你可以使用$video[$i]['media$group']['yt$videoid']['$t']

    您可能想要使用“jsonc”而不是“json”,它返回专门为 json 格式化的数据,而不是执行 xml 版本的转录。即https://gdata.youtube.com/feeds/api/playlists/bKIMlqJAz6GSqtm2x2rFQuIa8NKEhCTa?v=2.1&alt=jsonc

    您会注意到播放列表中的每个“项目”都有一个对应于提要条目的 id 和一个具有自己 id 的视频部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-15
      • 2015-08-19
      • 2013-09-19
      • 2017-03-27
      • 1970-01-01
      • 2013-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多