使用Direct-Upload到Youtube上传后无法获取视频ID

时间:2011-11-12 21:25:37

标签: php zend-framework youtube youtube-api

我使用直接上传方法将视频上传到youtube。视频已成功上传,但上传过程完成后我无法获取视频ID。

try {
  $newEntry = $yt->insertEntry($myVideoEntry, $uploadUrl, 'Zend_Gdata_YouTube_VideoEntry');
$v_id = $newEntry->getVideoId();
  mysql_query("UPDATE `mytable` SET youtube_video_id = '$v_id' WHERE ID = '$tid'");
} catch (Zend_Gdata_App_HttpException $httpException) {
  echo $httpException->getRawResponseBody();
} catch (Zend_Gdata_App_Exception $e) {
    echo $e->getMessage();
}

$v_id在上传后返回EMPTY。

有谁知道如何正确获取视频ID?

由于

编辑:

我发现了问题。这都是关于mysql服务器的。每当我想插入youtube视频ID时它就消失了。我刚刚做了一个mysql_ping,它解决了。

2 个答案:

答案 0 :(得分:1)

可能是视频仍在由Youtube处理,但尚未为视频分配ID。首先,我们需要检查视频的状态,然后再查询信息。请尝试以下

$state = $newEntry->getVideoState();

if ($state) {
  echo 'Upload video ID is ' . $newEntry->getVideoId();
  } else {
    echo "Not able to retrieve the video status information yet. " . 
      "Please try again later.\n";
}

此外,如果这不起作用,请在提交后提供更多调试信息,例如var_dump($ newEntry)的输出。

答案 1 :(得分:0)

我发现了问题。这都是关于mysql服务器的。每当我想插入youtube视频ID时它就消失了。我刚刚做了一个mysql_ping,它解决了。