#php #zend-framework #youtube #youtube-api
#php #zend-framework #YouTube #youtube-api
Вопрос:
Я использую метод прямой загрузки для загрузки видео на YouTube. Видео успешно загружается, но я не могу получить идентификатор видео после завершения процесса загрузки.
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
возвращается пустым после загрузки.
кто-нибудь знает, как правильно получить идентификатор видео?
Спасибо
Редактировать:
Я нашел проблему. Все дело было в сервере mysql. он исчезал каждый раз, когда я хотел вставить идентификатор видео YouTube. Я только что выполнил mysql_ping, и это решилось.
Комментарии:
1. Можете ли вы опубликовать пример $uploadUrl?
2. $uploadUrl = ‘ uploads.gdata. youtube.com/feeds/api/users/default/uploads ‘;
3. Вы видели это? code.google.com/apis/youtube/2.0 /…
4. @Peter я проверил это сейчас, но я не знаю, как это использовать на самом деле
Ответ №1:
Вероятно, видео все еще обрабатывается Youtube, и он еще не присвоил видео идентификатор. Сначала нам нужно проверить статус видео, прежде чем запрашивать у него информацию. Попробуйте следующее
$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) после отправки.
Ответ №2:
Я нашел проблему. Все дело было в сервере mysql. он исчезал каждый раз, когда я хотел вставить идентификатор видео YouTube. Я только что выполнил mysql_ping, и это решилось.