J'utilise Zend_Gdata_YouTube à l'interface avec l'API YouTube pour télécharger des vidéos sur mon site. Les vidéos sont téléchargées comme "privées":API YouTube (PHP) - Récupération d'une vidéo privée sous mon compte
$myVideoEntry->setVideoPrivate();
... et ont des étiquettes uniques et des étiquettes de développeur. Un administrateur peut ensuite entrer dans un CMS personnalisé et approuver les entrées soumises par l'utilisateur privé et les rendre publiques - au moins, c'est ce que je veux faire.
Dans le CMS, je me connecte à l'API en tant qu'utilisateur authentifié (Zend_Gdata_AuthSub). Je peux tirer la vidéo de l'utilisateur authentifié comme ceci:
$videoFeed = $yt->getuserUploads('default');
Cela va tirer toutes les vidéos, à la fois public et privé. Mais lorsque je tente de rechercher une vidéo spécifique avec un terme de recherche:
$query = $yt->newVideoQuery();
$query->setSafeSearch('none');
$query->setVideoQuery('puppies');
$videoFeed = $yt->getVideoFeed($query->getQueryUrl(2));
Ou par tag:
$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);
Ou par tag développeur:
$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);
Les vidéos privées retournera un résultat vide. Cependant, si je rends la vidéo publique, alors je peux l'extraire de l'une des trois méthodes ci-dessus - qui sont toutes exécutées sous une connexion authentifiée.
Comment puis-je tirer une vidéo privée basée sur l'étiquette ou l'étiquette développeur? Est-ce que je manque quelque chose? Merci beaucoup!!