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


Fetch 3 Last video from youtube channel

使用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)

在其他类方法上,它会得到ALL视频。我想获得$user的最后3个视频。如何做到这一点?

我现在时间真的很紧,否则我会尝试使用你的代码。如果你不能解决问题,或者没有人用你的代码给出答案,这可能会有所帮助。

我为那些想显示特定用户上传到Youtube的最新视频的缩略图的人制定了一个快速而肮脏的解决方案——我编码了一个简单的控制器动作和视图,它将显示一个视频缩略图,这是视频本身的链接。

通过更改,可以很容易地调整该示例以显示特定数量的视频

if($i==1) break;

然而,可能有比我做的方式更优雅的方式——正如我所说,回答一个问题既快又脏。

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

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

祝你一切顺利,戴夫:-D

链接到我的示例的问题

看看:

$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;
}