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中匹配视频。