【发布时间】:2011-04-10 07:10:18
【问题描述】:
我正在使用 Zend_Gdata_YouTube 与 YouTube API 交互以从我的网站上传视频。视频被上传为“私人”:
$myVideoEntry->setVideoPrivate();
...并且有独特的标签和开发者标签。然后,管理员可以进入自定义 CMS 并批准用户提交的私人条目并将其公开 - 至少,这是我想要做的。
在 CMS 中,我以经过身份验证的用户 (Zend_Gdata_AuthSub) 身份连接到 API。我可以像这样提取经过身份验证的用户的视频:
$videoFeed = $yt->getuserUploads('default');
这将提取所有视频,包括私有和公开。但是当我尝试使用搜索词搜索特定视频时:
$query = $yt->newVideoQuery();
$query->setSafeSearch('none');
$query->setVideoQuery('puppies');
$videoFeed = $yt->getVideoFeed($query->getQueryUrl(2));
或按标签:
$query = $yt->newVideoQuery();
$query->setOrderBy('viewCount');
$query->setRacy('include');
$query->setCategory('People/sometag');
// obtain a feed with videos matching the provided tag
$videoFeed = $yt->getVideoFeed($query);
或者通过开发者标签:
$devTagUrl = 'http://gdata.youtube.com/feeds/api/videos/-/%7Bhttp%3A%2F%2Fgdata.youtube.com' .
'%2Fschemas%2F2007%2Fdevelopertags.cat%7D' . $some_dev_tag;
$videoFeed = $yt->getVideoFeed($devTagUrl);
私人视频将返回空结果。但是,如果我将视频公开,那么我可以从上述三种方法中的任何一种中提取它 - 所有这些方法都在经过身份验证的连接下执行。
如何根据标签或开发者标签拉取私有视频?我错过了什么吗?非常感谢!!
【问题讨论】:
标签: video private youtube-api