2011-11-12 8 views
2

YouTubeに直接アップロードする方法を使用しています。動画は正常にアップロードされますが、アップロード処理が完了した後は動画IDを取得できません。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を正しく取得する方法を知っていますか?

おかげ

EDIT:

が、私は問題を発見しました。それはすべてmysqlサーバーに関するものでした。それはYouTubeのビデオIDを挿入するたびに消えてしまいました。私はちょうどmysql_pingを行い、それを解決しました。

+0

$ uploadUrlの例を投稿できますか? – Peter

+0

$ uploadUrl = 'http://uploads.gdata.youtube.com/feeds/api/users/default/uploads'; –

+0

あなたはこれを見ましたか? http://code.google.com/apis/youtube/2.0/developers_guide_protocol_checking_video_status.html#Check_Upload_Status – Peter

答えて

0

I問題が見つかりました。それはすべてmysqlサーバーに関するものでした。それはYouTubeのビデオIDを挿入するたびに消えてしまいました。私はちょうどmysql_pingを行い、それを解決しました。

1

動画がまだYoutubeで処理されており、まだ動画IDが割り当てられていない可能性があります。まず、情報を問い合わせる前に動画のステータスを確認する必要があります。問題が解決しない場合は、提出後のvar_dumpの出力($ newEntry)のようなより多くのデバッグ情報を提供してください、また次

$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"; 
} 

を試してみてください。

関連する問題