YouTube sitesi backend video yükleniyor

0 Cevap php

Kullanıcıların video yükleyebilirsiniz ve bu kez moderatör tarafından onaylanan sitede yayınlanan olsun CakePHP'de bir site yapıyorum. Şu anda, benim sunucusunda tarih olan video dosyalarını kabul ediyorum. Bu dosyalar indirilen ve moderatör tarafından kontrol ve onlar iyi görünüyor eğer moderatör youtube video upload ve veritabanına ona bir bağlantı kurtaracak bir butonuna tıklayın edilecektir.

Şimdi, YouTube ile kimlik doğrulaması için ClientLogin kullanarak ve Zend Gdata kitaplıkları kullanarak video upload çalışıyorum. Orada çok belgeler üzerinde mevcut değildir ve ben de herhangi bir hata geri almıyorum, ama onun değil çalışma:

require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata_YouTube');
Zend_Loader::loadClass('Zend_Gdata_CLientLogin');
Zend_Loader::loadClass('Zend_Gdata_App_Exception');
Zend_Loader::loadClass('Zend_Gdata_App_AuthException');
Zend_Loader::loadClass('Zend_Gdata_App_HttpException');
Zend_Loader::loadClass('Zend_Gdata_YouTube_VideoEntry');

// Define variables
$email = 'myemail@gmail.com';
$passwd = 'pass';
$applicationId = 'company-app-1.0';
$developerKey = 'AI39si5GGdQnX588uduNxgZL6I_UW32dr43FVH0ehf2jqN3CBIk5PIZHOG1-ag_Q8eaVlWnIxP7fLS3UW5Ofg45MzAxmW4XyAFw';

// Creating a ClientLogin authenticated Http Client
try {
    $client = Zend_Gdata_ClientLogin::getHttpClient($email, $passwd, 'cl');
} catch (Zend_Gdata_App_CaptchaRequiredException $cre) {
    echo 'URL of CAPTCHA image: ' . $cre->getCaptchaUrl() . "\n";
    echo 'Token ID: ' . $cre->getCaptchaToken() . "\n";
} catch (Zend_Gdata_App_AuthException $ae) {
    echo 'Problem authenticating: ' . $ae->exception() . "\n";
}

// Passing a Developer Key and ClientID to Zend_Gdata_YouTube
$yt = new Zend_Gdata_YouTube($client, $applicationId, null, $developerKey);


// Uploading a video

$myVideoEntry = new Zend_Gdata_YouTube_VideoEntry();
$filesource = $yt->newMediaFileSource('001.mov');
$filesource->setContentType('video/quicktime');
$filesource->setSlug('001.mov');
$myVideoEntry->setMediaSource($filesource);
$myVideoEntry->setVideoTitle('My Test Movie');
$myVideoEntry->setVideoDescription('My Test Movie');

// Note that category must be a valid YouTube category !
$myVideoEntry->setVideoCategory('Comedy');

// Set keywords, note that this must be a comma separated string
// and that each keyword cannot contain whitespace
$myVideoEntry->SetVideoTags('baby, funny');

// Optionally set some developer tags
/*
$myVideoEntry->setVideoDeveloperTags(array('mydevelopertag', 'anotherdevelopertag'));
*/

// Set Video as Private
$myVideoEntry->setVideoPrivate();

// Upload URI for the currently authenticated user

$uploadUrl = 'http://uploads.gdata.youtube.com/feeds/app/default/uploads';


// Try to upload the video, catching a Zend_Gdata_App_HttpException
// if availableor just a regular Zend_Gdata_App_Exception
try {
    $newEntry = $yt->insertEntry($myVideoEntry, $uploadUrl, 'Zend_Gdata_YouTube_VideoEntry');
} catch (Zend_Gdata_App_HttpException $httpException) {
    echo $httpException->getRawResponseBody();
} catch (Zend_Gdata_App_Exception $e) {
    echo $e->getMessage();
}

try {
    $control = $videoEntry->getControl();
} catch (Zend_Gdata_App_Exception $e) {
    echo $e->getMessage();
}

if ($control instanceof Zend_Gdata_App_Extension_Control) {
    if ($control->getDraft() != null && $control->getDraft()->getText() == 'yes') {
        $state = $videoEntry->getVideoState();
        if ($state instanceof Zend_Gdata_YouTube_Extension_State) {
            print 'Upload status: ' . $state->getName() .' '. $state->getText();
        } else {
            print 'Not able to retrieve the video status information' .' yet. ' . "Please try again shortly.\n";
        }
    }
}

0 Cevap