Я отчаянно пытаюсь создать личный плейлист на 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
, однако я не нашел метода, который делает его закрытым.Также просто попытка установить для приватного / публичного участника значение true / false не помогает и приводит к сообщению об ошибке (говоря, что такого члена нет).
Я не очень разбираюсь в API YouTube и ZendЯ был бы очень признателен, если бы кто-нибудь мог мне помочь.
Из того, что я прочитал, сделать личный плейлист можно, добавив к запросу тег <yt:private />
.Это звучит довольно просто, есть ли способ вручную добавить его в запрос?