2012年2月7日 星期二

[youtube].取得上傳的影片處理狀態(Upload status)

研究 youtube 提供的 api, 在上傳影片後的變化.
1.首先, 上傳影片:



2. 透過下面的程式碼, 來取得影片的狀態:
$yt = new Zend_Gdata_YouTube();
$videoEntry = $yt->getVideoEntry($id);
$state = $videoEntry->getVideoState();
if ($state) {
echo 'Upload status for video ID ' . $videoEntry->getVideoId() . ' is ' .
$state->getName() . ' - ' . $state->getText() . "\n";
} else {
echo "Not able to retrieve the video status information yet. " .
"Please try again later.\n";
}


3. 在上傳影片之後, youtube 處理完成之前取得的狀態:

說明: $state = true,
During 取得的值是0, 而且縮圖的時間也都停在0.


4. 在上傳影片之後,

說明: $state = false,
During 取得的值是85, 而且縮圖的時間也不是都停在0.


youtube php API 文件:
http://code.google.com/intl/zh-TW/apis/youtube/2.0/developers_guide_php.html#Checking_Upload_Status


安裝好Zend Framework, 也會有更詳細的 API 文件在資料夾:
/www/ZendGdata/documentation/api/core/db_Gdata_YouTube.html


附註: 經測試之後, app 授權方式必須使用 "ClientLogin for installed applications" 不然會抓不到影片被拒絕的原因, 上傳的檔案被拒絕(rejected), 可能是有危反版權宣告,或是影片重覆上傳.

Facebook 留言板