Создайте личный плейлист на YouTube с помощью Zend - PullRequest
2 голосов
/ 07 января 2011

Я отчаянно пытаюсь создать личный плейлист на 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 />.Это звучит довольно просто, есть ли способ вручную добавить его в запрос?

1 Ответ

0 голосов
/ 12 февраля 2011

Меня не интересует плейлист, но одно конкретное видео может быть помечено как "приватное" в момент загрузки:

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

Я знаю, что вы ищете плейлист, но, возможно, он может вам помочь ... например, анализируя код этого метода и т. Д.

...