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