我在一个网站上有一个页面,这个页面从YouTube上拉我的收藏夹并将它们嵌入到网站中。YouTube XML Feed Error
问题是,它的工作时间是80%,但其他20%的时间我在页面上发生错误 - 代码中没有任何内容正在改变,导致这一点,所以我想知道什么可能是造成这种情况,或者如果有更好的方式来做我在做什么...
我得到的错误是一个403禁止当检索XML饲料...这是它的样子(注意:行号将不完全匹配,因为我简化了以下代码示例。
有问题的XML Feed在这里: https://gdata.youtube.com/feeds/api/users/umarchives/favorites
Warning: simplexml_load_file(https://gdata.youtube.com/feeds/api/users/umarchives/favorites) [function.simplexml-load-file]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /mnt/stor3-wc2-dfw1/web/content/videos.php on line 42
Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "https://gdata.youtube.com/feeds/api/users/umarchives/favorites" in /mnt/stor3-wc2-dfw1/web/content/videos.php on line 42
Warning: Invalid argument supplied for foreach() in /mnt/stor3-wc2-dfw1/web/content/videos.php on line 47
下面是我使用的代码:
<?php
// set feed URL
$YouTubeUsername = "umarchives";
$feedURL = "https://gdata.youtube.com/feeds/api/users/".$YouTubeUsername."/favorites";
// read feed into SimpleXML object
$sxml = simplexml_load_file($feedURL);
// iterate over entries in feed
foreach ($sxml->entry as $entry) {
// get nodes in media: namespace for media information
$media = $entry->children('http://search.yahoo.com/mrss/');
$attrs = $media->group->content->attributes();
$videoURL = $attrs['url'];
$videoURL = preg_replace('/\?.*/', '', $videoURL);
$videoURL = str_replace("/v/","/embed/",$videoURL);
$videoTitle = $media->group->title;
echo "<iframe class='youtube-player' width='300' height='225' src='$videoURL'></iframe>\n";
echo "<br>\n";
}
?>
什么错误? – powtac
对不起,我将它添加到问题中,检索XML Feed时出现403 Forbidden错误... – Dan
错误看起来像什么? – powtac