0

嗨,我正在使用 zend Gdata Library 来播放 youtube 视频,我正在尝试显示 20 个以上的视频,或者我可以设置要显示的视频数量,但我没有找到任何选项

  $yt = new Zend_Gdata_YouTube();
  $videoFeed = $yt->getUserFavorites('liz');

有没有办法获得超过 20 个或更少的视频 Zend Gdata 默认是 20

你可以在这里查看

http://framework.zend.com/manual/en/zend.gdata.youtube.html

4

2 回答 2

2

经过更多研究,我想我找到了一些解决方案。检查那里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);
 }
于 2011-01-10T20:50:11.113 回答
0

我不确定在请求用户收藏时是否可以这样做,因为我从未使用过该功能,但是当通过搜索词请求视频时,您可以通过 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));
于 2011-01-06T16:50:45.220 回答