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');
2 초마다 업로드하지 않으면 데이터를 캐시하고 하루에 한 번만 가져올 수 있습니다. – prehfeldt