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を行い、それを解決しました。

2
追加された 著者 Utku Dalmaz,
@Peter私は今それをチェックしたが、私は実際にそれを使用する方法を知らない
追加された 著者 Utku Dalmaz,
あなたは$ uploadUrlの例を投稿できますか?
追加された 著者 Peter,
これ見たことある? code.google.com/apis/youtube/2.0/…
追加された 著者 Peter,

2 答え

動画がまだ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)の出力のようなより多くのデバッグ情報を提供してください。

1
追加された

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

0
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com