我正在拼命尝试在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();
}
最后一部分是或多或少从文档的示例代码。它效果很好,但播放列表是公开的。
据我所知,$newPlaylist
是PlaylistListEntry
的一个实例,因此应该有一个方法来使它是私人的。我检查了对象源代码(及其超过9000个父对象)加上get_class_methods
的输出,但是我发现没有任何方法使其变为私有。也只是试图设置私人/公共会员为真/假并没有帮助,并导致错误信息(说没有这样的成员)。
我对YouTube API和Zend不是很有经验,如果有人能够帮助我,我会非常感激。
从我读过的制作播放列表私人可以通过添加一个<yt:private />
标签到请求。这听起来很简单,有没有办法将它手动添加到请求中?
你有没有发现如何做到这一点?我正在尝试做同样的事情,在任何地方都找不到任何东西! – igneosaur 2012-09-13 18:36:08
@igneosaur不,不幸的不是。但是在那篇文章后我没有多少尝试。 – svens 2012-09-14 02:52:04