我希望能够使用Zend库将视频上传到youtube,但我希望视频对所有人隐藏(例如未列出),并在我给出的时候显示视频。
例如,我会在 6 月 26 日上传一个视频,但我希望它在 6 月 27 日下午 3:00 之前保持不公开发布状态。
这可能吗?
在
将视频发送到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);