从youtube频道获取3最后一个视频

时间:2012-03-25 15:58:38

标签: php api zend-framework class youtube

使用Youtube API,我已根据自己的需要创建了课程。 (它与Zend FW合作)

class youtube extends html {

    var $yt, $user;
    public function __construct($user) {
        require_once 'Zend/Loader.php';
        Zend_Loader::loadClass('Zend_Gdata_YouTube');
        $this->yt = new Zend_Gdata_YouTube();
        $this->yt->setMajorProtocolVersion(2);
        Zend_Loader::loadClass('Zend_Gdata_AuthSub');
        Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
        $this->yt->getHttpClient()->setConfig(array('timeout' => 180));
        $this->user = $user;
}

}

问题是,当我使用

$this->yt->getuserUploads($this->user)

对于其他类方法,它会获得所有视频。我想获得$user 3个最后视频。怎么做?

2 个答案:

答案 0 :(得分:0)

我现在的时间非常短暂,否则我就开始使用你的代码了。如果您无法解决问题,或者没有人使用您的代码回复问题,这可能会有所帮助。

我为一个想要显示与特定用户上传到Youtube的最新视频相对应的缩略图的人提供了一个快速而肮脏的解决方案 - 我编写了一个简单的控制器操作和视图,它将显示一个视频缩略图是视频本身的链接。

通过更改

,可以轻松调整示例以显示特定数量的视频
if($i==1) break;
然而,有可能比我做的方式更优雅的方式 - 正如我所说,回答问题快速而肮脏。

我使用了Zend_Feed_Reader类而不是Zend_Gdata_YouTube类。在短期内它可能会有所帮助。

祝你好运,如果这有帮助,请告诉我。

一切顺利,戴夫:-D

Link to the question with my example

答案 1 :(得分:0)

看看:

$query = $yt->newVideoQuery();
$query->maxResults = 3;
$query->orderBy = 'published';
$query->author = 'ThisIsHorosho';
$query->startIndex  = 1;

$videoFeed = $yt->getUserUploads(null,$query);
foreach($videoFeed as $videoEntry)
{
    echo $videoEntry->getVideoWatchPageUrl() . PHP_EOL;
}