我拼命想在youtube上创建私人播放列表。创建公共播放列表没有问题,文档非常好。但是,我无法将instructions“翻译”为代码。
您可以使用API更新a 播放列表的标题,说明和或 公共/私人身份。要更新 播放列表,修改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
的输出,但是我找不到任何使其成为私有的方法。也只是尝试将私有/公共成员设置为true / false没有帮助,并导致错误消息(说没有这样的成员)。
我对YouTube API和Zend不是很有经验,如果有人能帮助我,我真的很感激。
根据我的阅读内容,可以通过在请求中添加<yt:private />
标记来制作播放列表。这听起来很简单,有没有办法手动将其添加到请求中?
答案 0 :(得分:0)
我不是关于播放列表,但是在上传时刻,一个特殊视频可能会被标记为“私人”:
$myVideoEntry = new Zend_Gdata_YouTube_VideoEntry();
$myVideoEntry->setMediaSource($filesource);
$myVideoEntry->setVideoTitle($video_title);
// ... etc ...
$myVideoEntry->setVideoPrivate();
我知道您正在搜索播放列表,但也许它可以帮助您...例如通过分析此方法的代码等。