В настоящее время я создаю сайт, который будет использовать небольшое количество загруженных пользователем видео. Эти видео загружаются на сервер, а затем переходят на YouTube через API v3. Частный тег установлен, и все видео загружаются в одну центральную учетную запись.
Моя проблема; как я могу получить доступ и перечислить все эти частные видео с помощью API для отображения на моем сайте? Я не уверен, что это возможно. Любая обратная связь будет высоко оценена.
Изучив это, я нашел это . Просмотрев документы, я не смог найти конкретный PHP-пример того, как я мог это сделать: getuserUploads.
Получить библиотеку ZF Gdata @ http://framework.zend.com/downloads/latest
Запустите автозагрузчик:
set_include_path(APPPATH . 'third_party/zf/' . get_include_path()); require 'Zend/Loader/Autoloader.php'; Zend_Loader_Autoloader::getInstance();
Создайте HTTP-экземпляр с вашим именем входа, паролем и ключом разработчика youtube (вам придется захватить один).
$httpClient = Zend_Gdata_ClientLogin::getHttpClient( "Youtube LOGIN", "Youtube PASSWORD", 'youtube' );
Мгновенное действие GData с вашими полномочиями
$yt = new Zend_Gdata_YouTube( $httpClient, null, null, "Youtube Developer Key" );
Получить свой плейлист
$playlistListFeed = $yt->getPlaylistListFeed("YOUR YOUTUBE CHANNEL NAME"); //print_r($playlistListFeed); // uncomment to see the goods
Подготовьте массив для сортировки меньшего количества данных
$data['feed'] = array();
Прокрутите все, используйте is_private, чтобы узнать, является ли его частным или нет
foreach ($playlistListFeed as $playlistEntry) { $feedUrl = $playlistEntry->getPlaylistVideoFeedUrl(); $playlistVideoFeed = $yt->getPlaylistVideoFeed($feedUrl); foreach ($playlistVideoFeed as $video) { $data['feed'][] = array( 'id' => $video->getVideoId(), 'title' => $video->getTitle(), 'thumbnail' => $video->getVideoThumbnails(), 'is_private' => $video->isVideoPrivate(), 'url' => $video->getVideoWatchPageUrl(), 'flash_url' => $video->getFlashPlayerUrl () ); } }
Вам, возможно, придется возиться с ним, чтобы получить право на ваши настройки, надеюсь, что это поможет.
Я считаю, что вы можете сделать это, используя YouTube Data v3, таким образом:
Получите загруженные видео таким образом (это пример Java):
https://developers.google.com/youtube/v3/docs/playlistItems/list#examples
И затем вы можете получить ресурсы видео для этих списков воспроизведения, используя:
https://developers.google.com/youtube/v3/docs/videos/list
И затем вы можете проверить status.privacyStatus на каждом видео ресурсе (если вы загружаете видео с другим статусом.privacyStatus ..)