Я использую API Youtube для загрузки некоторого видео, но я не могу понять, как добавить загруженное видео в определенный плейлист. Я искал по всему Google, и я вообще не нашел никакой помощи.
Я прочитал руководство для разработчиков, и я нашел это – https://developers.google.com/youtube/2.0/developers_guide_php#Adding_a_Playlist_Video , но я не знаю, как определить, какое видео, в котором существующий плейлист я хочу добавить скрипт.
Это то, что я использую сейчас для загрузки видео:
require_once 'Zend/Loader.php'; Zend_Loader::loadClass('Zend_Gdata_YouTube'); Zend_Loader::loadClass('Zend_Gdata_ClientLogin'); $developerKey = 'MYDEVKEY'; $applicationId = 'SOMEID'; $authenticationURL= 'https://www.google.com/accounts/ClientLogin'; $httpClient = Zend_Gdata_ClientLogin::getHttpClient( $username = 'user', $password = 'pass', $service = 'youtube', $client = null, $source = 'something', $loginToken = null, $loginCaptcha = null, $authenticationURL); $clientId = 'something'; $yt = new Zend_Gdata_YouTube($httpClient, $applicationId, $clientId, $developerKey); $videoName = "video/user_12345.mov"; $myVideoEntry = new Zend_Gdata_YouTube_VideoEntry(); $filesource = $yt->newMediaFileSource($videoName); $filesource->setContentType('video/quicktime'); $filesource->setSlug('video/test.mov'); $myVideoEntry->setMediaSource($filesource); $myVideoEntry->setVideoTitle('Video title'); $myVideoEntry->setVideoDescription('Video description'); $myVideoEntry->setVideoCategory('Autos'); $myVideoEntry->SetVideoTags('car'); $uploadUrl ='https://uploads.gdata.youtube.com/feeds/users/default/uploads'; $newEntry = $yt->insertEntry($myVideoEntry, $uploadUrl, 'Zend_Gdata_YouTube_VideoEntry'); $state = $newEntry->getVideoState(); $idv = $newEntry->getVideoId();
Код в документе, к которому вы привязаны, дает вам отправную точку:
$postUrl = $playlistToAddTo->getPlaylistVideoFeedUrl(); // video entry to be added $videoEntryToAdd = $yt->getVideoEntry('4XpnKHJAok8'); // create a new Zend_Gdata_PlaylistListEntry, passing in the underling DOMElement of the VideoEntry $newPlaylistListEntry = $yt->newPlaylistListEntry($videoEntryToAdd->getDOM()); // post try { $yt->insertEntry($newPlaylistListEntry, $postUrl); } catch (Zend_App_Exception $e) { echo $e->getMessage(); }
Вместо 4XpnKHJAok8
в этом примере вы хотите передать идентификатор нового видео, то есть значение $idv
в вашем скрипте.
Этот код предполагает, что у вас уже есть объект $ playlistToAddTo, но у вас, вероятно, будет ID списка воспроизведения. Вы можете изменить его, чтобы читать
$postUrl = sprintf('https://gdata.youtube.com/feeds/api/playlists/%s?v=2', $playlistId);
где $playlistId
– это идентификатор плейлиста, к которому вы хотите добавить видео.