我希望能够使用Zend库将视频上传到youtube,但我希望视频能够从所有人中隐藏(例如不公开),并在我提供时显示视频。< / p>
例如,我会在6月26日上传视频,但我希望它在6月27日下午3点之前不上市。
这可能吗?
答案 0 :(得分:4)
通过在将视频发送到YouTube服务器之前设置VideoEntry对象上的选项,可以将视频上传为私有或不公开。如果你正在使用Zend框架,你会这样做:
// Set private
$videoEntry->setVideoPrivate();
// Or, set unlisted
$unlisted = new Zend_Gdata_App_Extension_Element( 'yt:accessControl', 'yt',
'http://gdata.youtube.com/schemas/2007', '' );
$unlisted->setExtensionAttributes(array(
array('namespaceUri' => '', 'name' => 'action', 'value' => 'list'),
array('namespaceUri' => '', 'name' => 'permission', 'value' => 'denied')
));
$videoEntry->setExtensionElements(array($unlisted));
虽然不可能让YouTube在特定日期/时间播放视频,但您可以自行更新设置(使用cron或类似设置在正确的时间触发),如下所示:
// get update-able VideoEntry
$videoEntry = $yt->getFullVideoEntry( 'videoID' );
// Set public
$videoEntry->setVideoPublic();
// Set listed
$listed = new Zend_Gdata_App_Extension_Element( 'yt:accessControl', 'yt',
'http://gdata.youtube.com/schemas/2007', '' );
$listed->setExtensionAttributes(array(
array('namespaceUri' => '', 'name' => 'action', 'value' => 'list'),
array('namespaceUri' => '', 'name' => 'permission', 'value' => 'allowed')
));
$videoEntry->setExtensionElements(array($unlisted));
// Send update
$putUrl = $videoEntry->getEditLink()->getHref();
$yt->updateEntry($videoEntry, $putUrl);