使用Data API - php上传视频到YouTube后获取视频URL

5
我正在尝试使用PHP数据API上传视频到YouTube。
$yt = new Zend_Gdata_YouTube($httpClient);
$myVideoEntry = new Zend_Gdata_YouTube_VideoEntry();

$filesource = $yt->newMediaFileSource('mytestmovie.mov');
$filesource->setContentType('video/quicktime');
$filesource->setSlug('mytestmovie.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('cars, funny');

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

// Optionally set the video's location
$yt->registerPackage('Zend_Gdata_Geo');
$yt->registerPackage('Zend_Gdata_Geo_Extension');
$where = $yt->newGeoRssWhere();
$position = $yt->newGmlPos('37.0 -122.0');
$where->point = $yt->newGmlPoint($position);
$myVideoEntry->setWhere($where);

// Upload URI for the currently authenticated user
$uploadUrl =
    'http://uploads.gdata.youtube.com/feeds/users/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();
}

有人知道如何从$newEntry对象中获取上传视频的URL吗?
任何帮助都将不胜感激 :)

您可以在这里找到答案:http://groups.google.com/group/youtube-api-gdata/browse_thread/thread/554bc26279925643。 - Pedro Lobito
1个回答

4
尝试这个:
try {
            $newEntry = $yt->insertEntry($myVideoEntry, $uploadUrl,
    'Zend_Gdata_YouTube_VideoEntry');
            $id = $newEntry->getVideoId(); // YOUR ANSWER IS HERE :)
            echo $id; 
    }

谢谢,哈哈,那很容易。在 API 参考中没有找到它。你在 Zend API 参考中找到了吗? - Abhishek
我遇到了同样的问题,需要按照以下解决方法来解决这个问题:https://groups.google.com/forum/?fromgroups=#!topic/youtube-api-gdata/fYbKwNP5Dj8 - Andrew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接