获取不同的视频ID YouTube

时间:2012-02-01 14:21:41

标签: php youtube-api

code.google.com的PHP API

我使用过这个函数:function printVideoEntry($ videoEntry)并得到了

  

视频ID:XXXXXXXXXXXXXXXXXXXXXXXXXX
观看页面:   http://www.youtube.com/watch?v=YYYYYYYYYYYYYY&feature=youtube_gdata_player
  Flash Player网址:   http://www.youtube.com/v/YYYYYYYYYYYYY?version=3&f=playlists&app=youtube_gdata

如果我传递给定的视频ID,则会给我错误:

  

带有消息的未捕获异常'Zend_Gdata_App_HttpException'   '预期响应代码200,得到400无效ID'

如果我从Watch页面和Flash Player Url [两者都相同]通过YYYYYYYYYYYYYYYYY,我就得到了我需要的东西。

非常感谢帮助,提前致谢。

使用此功能获取视频条目

function printVideoEntry($videoEntry) {
  echo "<div onclick=\"ytvbp.presentVideo('".$videoEntry->getVideoId()."')\" >";
  echo 'Video: '.$videoEntry->getVideoTitle() . "<br>";
  echo "</div>";
  echo 'Video ID: ' . $videoEntry->getVideoId() . "<br>";
  echo 'Watch page: ' . $videoEntry->getVideoWatchPageUrl() . "<br>";
  echo 'Flash Player Url: ' . $videoEntry->getFlashPlayerUrl() . "<br>";
} 

我正在调用

中的打印视频功能
 function getAndPrintPlaylistVideoFeed($playlistListEntry) {
    $yt = new Zend_Gdata_YouTube();
    $playlistVideoFeed =  $yt->getPlaylistVideoFeed($playlistListEntry->getPlaylistVideoFeedUrl());
    foreach ($playlistVideoFeed as $playlistVideoEntry) {
    $getandprintplaylistvideofeed_array[] = printVideoEntry($playlistVideoEntry);
    }

1 个答案:

答案 0 :(得分:0)

$videoEntry应该是VideoEntry - 对象,您可以根据ID获取该对象:

$videoEntry = $yt->getVideoEntry('the0KZLEacs');

然后你可以调用该函数并将其设置为参数:

printVideoEntry($videoEntry);

或者您可以修改printVideoEntry的第一行:

function printVideoEntry($videoId) {
  $videoEntry = $yt->getVideoEntry('the0KZLEacs');
  //...
}

查看docs以了解您可以从VideoEntry =)中挤出哪些信息