2012-03-25 127 views
4

使用Youtube API,我已经创建了满足我需求的课程。 (它的工作原理与Zend FW)获取3来自YouTube频道的最后一个视频

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视频。我想得到3最后的视频$user。这个怎么做?

回答

0

我真的很短暂的时间,否则我会去使用你的代码。这可能有助于解决问题,或者如果没有人使用您的代码回复答案。

我把一个快速和肮脏的解决方案作为一个答案,谁想要显示缩略图对应于由特定用户上传到Youtube的最新视频 - 我编码了一个简单的控制器动作和视图,将显示一个视频缩略图这是视频本身的链接。

的例子可以很容易地进行调整,通过改变

if($i==1) break; 

线但有可能做的比我的方式更优雅的方式来显示视频的特定数量 - 正如我说这是快而且很难回答一个问题。

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

祝你好运,让我知道这是否有帮助。

所有最优秀的,戴夫:-D

Link to the question with my example

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