Подтвердить что ты не робот

Загружать видео на YouTube как незарегистрированные

Итак, я могу загрузить видео на YouTube (прямая загрузка) с помощью клиентской библиотеки PHP и настроить его на приватное, но можно ли его установить как незарегистрированный?

4b9b3361

Ответ 1

Вы должны использовать этот код в качестве дочернего элемента XML-запроса:

<yt:accessControl action="list" permission="denied"/>

Если вы не можете добавить его вручную (обычно с помощью zend), вы можете использовать этот код для добавления соответствующей записи zend:

//Creates an extension to Zend Framework
$element = new Zend_Gdata_App_Extension_Element('yt:accessControl', 'yt', 'http://gdata.youtube.com/schemas/2007', ''); 

//Adds the corresponding XML child/attribute
$element->extensionAttributes = array(array('namespaceUri' => '', 'name' => 'action', 'value' => 'list'), array('namespaceUri' => '', 'name' => 'permission', 'value' => 'denied')); 

//Adds this extension to you video entry where "$myVideo" is your video to be uploaded
$myVideo->extensionElements = array($element); 

Надеюсь, это поможет: D

Ответ 2

Сделайте это.. с API ver 2 и ZEND GDATA. Если вы посмотрите на содержимое видеообъявления, вы заметите, что $ _extensionElements и $_extensionArributes. Итак, оглядываясь назад из расширенного класса VideoEntry вы найдете абстрактный класс Zend_Gdata_App_Base и он имеет функцию setExtensionElements (array). Так что только делайте то, что говорят другие, чтобы создать элемент accesControlElement и передать его этой функции. И ЭТО РАБОТАЕТ.

$videoEntry = $yt->getFullVideoEntry($id);

if ($videoEntry->getEditLink() !== null) {

    echo "<b>Video is editable by current user</b><br />";

    $putUrl = $videoEntry->getEditLink()->getHref();

    //set video to unlisted
    $accessControlElement = new Zend_Gdata_App_Extension_Element(
        'yt:accessControl', 'yt', 'http://gdata.youtube.com/schemas/2007', ''
    );
    $accessControlElement->extensionAttributes = array(
        array(
            'namespaceUri' => '',
            'name' => 'action',
            'value' => 'list'
        ),
        array(
            'namespaceUri' => '',
            'name' => 'permission',
            'value' => 'denied'
        ));

    // here is the hidden function 
    // it´s on a abstract class Zend/Gdata/App/Base/Base.php 
    // Where ZEND/Gdata/Youtube/VideoEntry.php extends

    $videoEntry->setExtensionElements(array($accessControlElement));

    $yt->updateEntry($videoEntry, $putUrl);

}else{

    echo "<b>EL Video no es editable por este usuario</b><br />";

}