0

我希望能够使用 Zend 库将视频上传到 youtube,但我希望对所有人隐藏视频(例如不公开),并在我给出的时间显示视频。

例如,我会在 6 月 26 日上传一个视频,但我希望它在 6 月 27 日下午 3:00 之前保持不公开状态。

这可能吗?

4

1 回答 1

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);
于 2012-07-08T11:34:59.493 回答