我正在使用Zend Framework (php),并尝试检索我订阅的所有用户上传的最新视频列表。类似于您在youtube.com上访问订阅页面时看到的内容。
我可以使用getSubscriptionFeed()为我订阅的所有用户发出请求。然后,我可以遍历每个项目并请求getUserUploads(),然后弹出第一个项目,但这将耗费大量时间,而且似乎有很多不必要的工作。必须有一个查询,我可以对我想要查找的所有用户名进行查询。
有什么想法吗?
谢谢,豪伊
发布于 2011-09-08 12:46:36
如果有人感兴趣的话:
Zend Framework的最新版本(1.11.10)不包括从您的订阅中检索最新视频的所有重要方法,如谷歌网站上记录的here。
所以我简单地加了一句:
/**
* Retrieves a feed of a user's subscriptions
*
* @param string $user (optional) The username of interest
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined
* @return Zend_Gdata_YouTube_VideoFeed The newest video for each subscription
*/
public function getNewSubscriptionVideos($user = null, $location = null)
{
if ($user !== null) {
$uri = self::USER_URI . '/' . $user . '/newsubscriptionvideos';
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_YouTube_VideoFeed');
}添加到Zend/GData目录中的561行(在getSubscriptionFeed方法之后)的YouTube.php文档。
现在,我可以调用getNewSubscriptionVideos方法并向其传递用户名或'default‘,它将返回一个VideoEntities数组,可以使用以下命令访问该数组:
$raw_new_subscription_videos = $_youtube->getNewSubscriptionVideos($username);
foreach ($raw_new_subscription_videos as $video)
{
$title = $video->getVideoTitle();
// etc.
}希望这篇文章能帮助那些和我一样迷茫的人。
豪伊
https://stackoverflow.com/questions/7340141
复制相似问题