2012-05-24 2 views
0

YouTube 개발자 API 문서에 설명 된대로 Zend_Gdata를 사용하여 축소판 그림과 함께 최신 두 개의 동영상을 간단하게 가져옵니다. 안타깝게도 페이지의 나머지 부분은 매우 느리며로드가 지연되므로이 코드를 비활성화하고 정적 HTML을 넣어야했습니다. 아마도 너무 많은 데이터를 쿼리하고 있다고 생각하지만 getuserUploads에 대한 제한 옵션이 표시되지 않습니다. 내가 생각할 수있는 유일한 해결책은 페이지가로드 된 후 AJAX 호출을 수행하는 것이지만 여전히 더 빠를 필요가있다.YouTube API 최신 동영상 2 개에 Zend_Gdata 사용 - 정말 느리다

XML을 사용하는 것이 더 빠를 경우 누군가가 제목, URL 및 미리보기 이미지를 가져올 수있는 작업 코드를 가르쳐 줄 수 있습니까? 처음에 찾은 코드 (Simple XML 함수 사용)는 전혀 작동하지 않았습니다. 여기

가 느린 사용되는 코드입니다 :

require_once 'Zend/Loader.php'; 
Zend_Loader::loadClass('Zend_Gdata_YouTube'); 

function printVideoFeed($videoFeed, $limit) 
{ 
    $count = 1; 
    foreach ($videoFeed as $videoEntry) { 
    if ($count > $limit) { break; } 
    echo "<li>"; 
    printVideoEntry($videoEntry); 
    echo "</li>\n"; 
    $count++; 
    } 
} 
function getAndPrintUserUploads($userName)      
{  
    //Zend_Gdata_YouTube($httpClient, $applicationId, $clientId, $developerKey); 
    $yt = new Zend_Gdata_YouTube(NULL, 'APPIDHERE', 'CLIENTNAMEHERE', 'ASDF-LONGDEVKEYHERE-TO-FIX-TOO-MANY-CALLS-PROBLEM'); 

    $yt->setMajorProtocolVersion(2); 
    printVideoFeed($yt->getuserUploads($userName), 2); 
} 
function printVideoEntry($videoEntry) 
{ 
    // get all thumbnails. Use the 2nd one (index of 1 in array) that is 180px wide 
    $videoThumbnails = $videoEntry->getVideoThumbnails(); ?> 

    <div class="theimg"> 
     <a href="<?php echo $videoEntry->getVideoWatchPageUrl(); ?>" target="_blank"> 
      <img src="<?php echo $videoThumbnails[1]['url']; ?>" alt="" width="160" /> 
     </a> 
    </div> 
    <span class="date">Video</span> 
    <h4><a href="<?php echo $videoEntry->getVideoWatchPageUrl(); ?>" target="_blank"><?php echo $videoEntry->getVideoTitle(); ?></a></h4> 
} 

getAndPrintUserUploads('USERNAMEHERE'); 
+0

2 초마다 업로드하지 않으면 데이터를 캐시하고 하루에 한 번만 가져올 수 있습니다. – prehfeldt

답변

0

당신이 전체 젠드 MVC 모델을 사용하지 않는 언뜻 보면, 몇 가지 당신은 HTML을 처리하는 방법을 보낼 성능을 향상시킬 수있다 사용할 수 있습니다 VIEW에서 YouTube의 RSS 피드를 사용하여이 요청을하십시오.

+0

해당 사이트가 Zend 프레임 워크에 있지 않습니다. 여기에 설명 된대로 Zend_Gdata를 사용하고 있습니다. https://developers.google.com/youtube/2.0/developers_guide_php 최신 vids에 XML/RSS를 사용하는 작업 코드가 있으면 알려 주시기 바랍니다. 나는 그것이 훨씬 더 빠를 것이라고 가정하고 있었다. Google과 StackOverflow를 통해 찾은 코드가 작동하지 않습니다. – jwinn

+0

https://developers.google.com/youtube/2.0/reference#Video_Feeds –