使用PHP SimpleXML从youtube播放列表中获取视频id


Fetch video id from a youtube playlist using PHP-SimpleXML

我正在使用SimpleXML和Youtube API从Youtube播放列表中获取一些视频。我设法得到了每个视频的标题,但不知道如何获得视频ID。

如何获取<yt:videoid>标签?

这就是我目前所得到的:

$xml = simplexml_load_file('http://gdata.youtube.com/feeds/api/playlists/ ID ');
$videos=array();
foreach ($xml->entry as $video) {
      $vid = array();
      $vid['title'] = $video->title; // <- This Works
      $media = $video->children('http://search.yahoo.com/mrss/');
      $yt = $media->group->children('http://gdata.youtube.com/schemas/2007');
      $vid['id']=$yt->videoid;  // <- Not Working
      $videos[]=$vid;
}

这里只是一个粗略的猜测:你只是在输出"title",但你试图用"videoid"做其他事情?因为添加到$vid数组的不是字符串,而是SimpleXMLElement-对象。你必须手动铸造:

$vid['id']= (string) $yt->videoid;

除此之外,您的代码工作正常。

这将起作用:

$yt = $media->children('http://gdata.youtube.com/schemas/2007');
$vid['id']=$yt->videoid;