YouTube API getVideoId为null

时间:2011-10-31 21:57:19

标签: php youtube youtube-api gdata-api

我使用基于浏览器的上传方法上传了一些视频。视频上传得很好,但我无法获取最近上传的视频ID。 这是我做的:

$vidEntry = new Zend_Gdata_YouTube_VideoEntry();
...
...
$tokenHandlerUrl = 'http://gdata.youtube.com/action/GetUploadToken';
$tokenArray = $yt->getFormUploadToken($vidEntry, $tokenHandlerUrl);
$tokenValue = $tokenArray['token'];
$postUrl = $tokenArray['url'];
...
...
posting using cURL...

问题代码:

$state = $vidEntry->getVideoState();
if($state) {
    $video_id = $vidEntry->getVideoId();
} else {
    die("Error");
}

这里的 $ state NULL 。有什么问题?

BTW根据手册:

  

上传视频文件后,用户将被重定向到nexturl   在您的表单中指定。如果上传成功,则会附加YouTube   网址的ID和状态参数,如以下示例所示:

但我仍然无法得到它们(也许我在想错误的网址?)。

2 个答案:

答案 0 :(得分:0)

在基于浏览器的上传中,您的代码在尚未上传视频时有效。因此,目前无法知道VIDEO_ID。

要获取VIDEO_ID,您必须查看目标网页上传入的GET参数中的Id参数。

登录页面必须以形式操作链接中的“?nexturl =”parametar提供给youtube。

答案 1 :(得分:0)

解决。我只是做错了重定向。