是否可以使用Zend库上传到youtube,但是延迟列出它直到我指定的时间?

时间:2012-06-25 11:32:39

标签: zend-framework youtube youtube-api

我希望能够使用Zend库将视频上传到youtube,但我希望视频能够从所有人中隐藏(例如不公开),并在我提供时显示视频。< / p>

例如,我会在6月26日上传视频,但我希望它在6月27日下午3点之前不上市。

这可能吗?

1 个答案:

答案 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);