2012-03-25 3 views
4

Используя Youtube API, я создал класс для своих нужд. (Он работает с Zend FW)Fetch 3 Последнее видео с youtube channel

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) 

других методов класса, он получает ВСЕ видео. Я хочу получить 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; 
} 
Смежные вопросы