标签:php youtube zend-framework api zend-gdata
几个小时我一直在努力,我不知道为什么不工作.
我需要使用YouTube API和Zend从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;
}
使用数组和函数执行此操作的原因是因为我想缓存该函数.
我不知道代码有什么问题,我使用完全相同的只是改变其他类型的feed的getVideoEntry它是有效的.
解决方法:
我复制了你的代码并运行它.现在getVideoEntry似乎正在返回单个视频的数据,但出于某种原因,你希望它是一个集合?此外,如果您缓存,您可能想要为空数据返回创建一些检查.
以下是一些适用于我的修改后的代码:
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;
}
标签:php,youtube,zend-framework,api,zend-gdata 来源: https://codeday.me/bug/20190526/1157204.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。