2011-01-07 72 views
2

我正在拼命尝试在YouTube上创建一个私人播放列表。创建公共播放列表没有问题,文档非常好。不过,我无法将instructions“翻译”为代码。使用Zend在YouTube上创建私人播放列表

您可以使用API​​更新 播放列表的标题,描述和或 公共/私有状态。要更新 播放列表,请修改该播放列表的PlaylistListEntry 对象,然后调用 对象的保存方法。

我的代码:

$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(); 
} 

最后一部分是或多或少从文档的示例代码。它效果很好,但播放列表是公开的。

据我所知,$newPlaylistPlaylistListEntry的一个实例,因此应该有一个方法来使它是私人的。我检查了对象源代码(及其超过9000个父对象)加上get_class_methods的输出,但是我发现没有任何方法使其变为私有。也只是试图设置私人/公共会员为真/假并没有帮助,并导致错误信息(说没有这样的成员)。

我对YouTube API和Zend不是很有经验,如果有人能够帮助我,我会非常感激。

从我读过的制作播放列表私人可以通过添加一个<yt:private />标签到请求。这听起来很简单,有没有办法将它手动添加到请求中?

+0

你有没有发现如何做到这一点?我正在尝试做同样的事情,在任何地方都找不到任何东西! – igneosaur 2012-09-13 18:36:08

+0

@igneosaur不,不幸的不是。但是在那篇文章后我没有多少尝试。 – svens 2012-09-14 02:52:04

回答

0

我不苏尔约播放列表,但一个particural视频可以在上传由时刻被标记像一个“私”:

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

我知道你正在寻找有关播放列表,但也许它可以帮助你...例如通过分析这种方法的代码等。

相关问题