YouTube API(PHP) - 检索我帐户下的私人视频
问题描述:
我使用Zend_Gdata_YouTube与YouTube API进行交互以从我的网站上传视频。视频上传为“私密”:YouTube API(PHP) - 检索我帐户下的私人视频
$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);
私人影片将返回一个空的结果。但是,如果我公开视频,那么我可以从上述三种方法中的任何一种中拉出来 - 所有这些都是在经过验证的连接下执行的。
如何根据标签或开发人员标签提取私人视频?我错过了什么吗?非常感谢!!
答
不幸的是,这似乎是API的限制。我的解决方案是解决所有用户的视频:
$videoFeed = $yt->getuserUploads('default');
其中拉出公共和私人视频。然后我比较每个条目的我的开发标签,并在PHP中匹配视频。