2011-01-11 9 views
4

私はこれを何時間も苦労していましたが、なぜうまくいかないのか分かりません。 私は、YouTubeのAPIとZendを使用して動画IDから詳細を取得する必要があるので、私は機能をキャッシュしたいので、配列と機能でそれをやった理由イムは、このYoutube VideoIDの詳細を配列で取得する

function listYoutubeVideo($id) { 
$videos = array(); 

try { 
    $yt = new Zend_Gdata_YouTube(); 


    $videoFeed = $yt->getVideoEntry($id); 
    foreach ($videoFeed as $videoEntry) { 
     $videoThumbnails = $videoEntry->getVideoThumbnails(); 
     $videos[] = array(
      'thumbnail' => $videoThumbnails[0]['url'], 
      'title' => $videoEntry->getVideoTitle(), 
      'description' => $videoEntry->getVideoDescription(), 
      'tags' => implode(', ', $videoEntry->getVideoTags()), 
      'url' => $videoEntry->getVideoWatchPageUrl(), 
      'flash' => $videoEntry->getFlashPlayerUrl(), 
      'dura' => $videoEntry->getVideoDuration(), 
      'id' => $videoEntry->getVideoId() 
     ); 
    } 
} catch (Exception $e) { 
} 

return $videos; 
} 

のような機能を作成しました。

私はコードに何が間違っているか分かりません。他のタイプのフィードに対してgetVideoEntryを変更するだけで、まったく同じものを使用します。

+0

このコードの外見から、考えられる例外を黙って無視しています。どうして?それは私が可能性のある手がかりを探し始める最初の場所だろう。 –

+0

さらに、error_reportingを適切なレベル(E_ALL)に設定して、それらを表示していますか(またはログに記録していますか? –

+0

エラー報告は有効で、実際にはエラーは発生せず、空の配列だけです。 – Peibol

答えて

3

コードを複製して実行しました。今はgetVideoEntryが1つの動画のデータを返すようですが、何らかの理由でコレクションになると思いますか?また、キャッシュする場合は、空のデータが返されるかどうかを確認する必要があります。ここで

は私のために完璧に働いていたいくつかの改訂コードです:

function listYoutubeVideo($id) { 
    $video = array(); 

    try { 
     $yt = new Zend_Gdata_YouTube(); 

     $videoEntry = $yt->getVideoEntry($id); 

      $videoThumbnails = $videoEntry->getVideoThumbnails(); 
      $video = array(
       'thumbnail' => $videoThumbnails[0]['url'], 
       'title' => $videoEntry->getVideoTitle(), 
       'description' => $videoEntry->getVideoDescription(), 
       'tags' => implode(', ', $videoEntry->getVideoTags()), 
       'url' => $videoEntry->getVideoWatchPageUrl(), 
       'flash' => $videoEntry->getFlashPlayerUrl(), 
       'dura' => $videoEntry->getVideoDuration(), 
       'id' => $videoEntry->getVideoId() 
      ); 

    } catch (Exception $e) { 
     /* 
     echo $e->getMessage(); 
     exit(); 
     */ 
    } 

    return $video; 
} 
関連する問題