2011-11-12 74 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?

感謝

編輯:

我發現這個問題。這完全是關於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

我發現了這個問題。這完全是關於MySQL服務器。它每當我想插入youtube視頻ID時就消失了。我只是做了一個mysql_ping並解決了。

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)更多的調試信息。