2011-01-07 2 views
2

Je cherche désespérément à créer une playlist privée sur youtube. Ce n'est pas un problème pour créer des playlists publiques, les docs sont très bons. Cependant, je suis incapable de "traduire" le code instructions.Créer une playlist privée sur YouTube en utilisant Zend

Vous pouvez utiliser l'API pour mettre à jour un titre de playlist , description et ou statut public/privé. Pour mettre à jour une playlist , modifiez l'objet PlaylistListEntry pour cette playlist, puis appelez le méthode d'enregistrement de l'objet.

Mon code:

$httpClient = isset($_SESSION['sessionToken'])? Zend_Gdata_AuthSub::getHttpClient($_SESSION['sessionToken']) : null; 
$this->youtube = new Zend_Gdata_YouTube($httpClient, "CompanyName-AppName-0.1", null, $this->apikey); 

// ... 

$yt = $this->youtube; 
$newPlaylist = $yt->newPlaylistListEntry(); 
$newPlaylist->description = $yt->newDescription()->setText('My Description'); 
$newPlaylist->title = $yt->newTitle()->setText('My Title'); 

$postLocation = 'http://gdata.youtube.com/feeds/api/users/default/playlists'; 
try { 
    $yt->insertEntry($newPlaylist, $postLocation); 
} catch (Zend_Gdata_App_Exception $e) { 
    echo $e->getMessage(); 
} 

La dernière partie est plus ou moins le code de l'échantillon de la documentation. Cela fonctionne très bien, mais la liste de lecture est publique. De ce que je comprends, $newPlaylist est une instance de PlaylistListEntry et donc il devrait y avoir une méthode pour le rendre privé. J'ai inspecté le code source de l'objet (et ses plus de 9000 objets parents) plus la sortie de get_class_methods, mais je n'ai trouvé aucune méthode qui le rende privé. Essayer de définir le membre public/privé sur true/false n'aide pas non plus et conduit à un message d'erreur (indiquant qu'il n'existe aucun membre de ce type).

Je ne suis pas très expérimenté avec l'API YouTube et Zend, j'apprécierais vraiment que quelqu'un puisse m'aider ici. De ce que j'ai lu en rendant une playlist privée peut être fait en ajoutant un tag <yt:private /> à la demande. Cela semble assez simple, y at-il peut-être un moyen de l'ajouter manuellement à la demande?

+0

Avez-vous déjà trouvé comment faire? J'essaye de faire la même chose et je ne trouve rien n'importe où! – igneosaur

+0

@igneosaur Non, malheureusement pas. Mais je n'ai pas essayé beaucoup après ce poste. – svens

Répondre

0

Je ne suis pas sur à propos de playlist, mais une vidéo particural pourrait être marqué comme un « privé » au moment de téléchargement par:

$myVideoEntry = new Zend_Gdata_YouTube_VideoEntry(); 
$myVideoEntry->setMediaSource($filesource); 
$myVideoEntry->setVideoTitle($video_title); 
// ... etc ... 
$myVideoEntry->setVideoPrivate(); 

Je sais que vous êtes à la recherche sur les playlist, mais peut-être pourrait vous aider ... par exemple en analysant le code de cette méthode, etc.

+0

Désolé pour la réaction tardive. Malheureusement, cela ne fonctionne pas avec les playlists. En outre, selon 'get_class_methods (..)' il n'y a pas de fonctions avec un nom similaire. Merci pour votre réponse de toute façon! – svens

Questions connexes