我有以下代码,用于将视频信息从YouTube加载到我的网站上:
try {
$yt = new Zend_Gdata_YouTube();
$videoEntry = $yt->getVideoEntry($video_path);
$duration = $videoEntry->getVideoDuration();
} catch (Zend_Gdata_App_HttpException $e) {
//do something with the error
}我的问题是,到目前为止,我已经检测到了两种情况,在这两种情况下,catch块将被执行-如果视频已经被删除,或者如果有某种通信错误。
如果视频已被删除,我希望将其从本地列表中删除。我怎么知道我得到的是哪个错误-我一直在寻找错误代码的描述,但找不到这个,尽管我相信其他人以前也遇到过这个问题。
发布于 2012-11-06 06:08:48
如果您要查找的视频ID已删除或不存在,则请求的HTTP状态码为400,响应正文为Invalid id。您可以获取底层响应对象来确定请求是否无效,或者请求是否完全失败。
try {
$yt = new Zend_Gdata_YouTube();
$videoEntry = $yt->getVideoEntry($video_path);
$duration = $videoEntry->getVideoDuration();
} catch (Zend_Gdata_App_HttpException $e) {
$response = $e->getResponse();
if ($response !== null) {
if ($response->getStatus() == 400 && $response->getBody() == 'Invalid id') {
// the video requested does not exist or was deleted
} else {
// some other error
}
}
}https://stackoverflow.com/questions/13235653
复制相似问题