嗨,我正在使用 zend Gdata Library 来播放 youtube 视频,我正在尝试显示 20 个以上的视频,或者我可以设置要显示的视频数量,但我没有找到任何选项
$yt = new Zend_Gdata_YouTube();
$videoFeed = $yt->getUserFavorites('liz');
有没有办法获得超过 20 个或更少的视频 Zend Gdata 默认是 20
你可以在这里查看
嗨,我正在使用 zend Gdata Library 来播放 youtube 视频,我正在尝试显示 20 个以上的视频,或者我可以设置要显示的视频数量,但我没有找到任何选项
$yt = new Zend_Gdata_YouTube();
$videoFeed = $yt->getUserFavorites('liz');
有没有办法获得超过 20 个或更少的视频 Zend Gdata 默认是 20
你可以在这里查看
经过更多研究,我想我找到了一些解决方案。检查那里http://code.google.com/apis/youtube/2.0/developers_guide_php.html#Pagination 您应该通过视频提要页面编写递归函数循环。对于我的应用程序,它是这样的(课堂上的方法):
<?php
//...
protected function build_favs_html($videos) {
//just saving html here. Mind the .= operator.
// I think you'll be doing this in some other way
$this->_html_response .= View::factory('videos')
->set('videos', $videos)
->set('type', 'load_favs');
// See whether we have another set of results
try {
$videos = $videos->getNextFeed();
}
catch (Zend_Gdata_App_Exception $e) {
//break function execution if there are no more result sets
return null;
}
//if there are result sets we continue calling same function on and on
$this->build_favs_html($videos);
}
我不确定在请求用户收藏时是否可以这样做,因为我从未使用过该功能,但是当通过搜索词请求视频时,您可以通过 setMaxResults 方法设置结果编号。您可能可以使用您的用户收藏夹请求来解决此问题。
这是我们使用的一段代码:
$yt = new Zend_Gdata_YouTube();
$yt->setMajorProtocolVersion(2);
$query = $yt->newVideoQuery();
$query->setOrderBy('viewCount');
$query->setSafeSearch('strict');
$query->setFormat($searchFormat);
$query->setVideoQuery($searchTerms);
$query->setMaxResults($limit); // number of returned results set here
$query->setStartIndex($offset);
$results = $yt->getVideoFeed($query->getQueryUrl(2));