gpt4 book ai didi

php - YouTube XML Feed 错误

转载 作者:数据小太阳 更新时间:2023-10-29 02:32:01 27 4
gpt4 key购买 nike

我在一个网站上有一个页面,它从 YouTube 中提取我最喜欢的提要并将它们嵌入到网站中。

问题是它在 80% 的时间内正常工作,但在另外 20% 的时间内我在页面上遇到错误 - 代码中没有任何更改导致此问题,所以我想知道可能是什么原因造成的这个,或者如果有更好的方法来做我正在做的事情......

我在检索 XML 提要时遇到的错误是 403 Forbidden...这是它的样子(注意:行号不会完全匹配,因为我已经简化了下面的代码示例。

有问题的 XML 提要在这里: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";

}

?>

最佳答案

您应该验证 $sxml = simplexml_load_file($feedURL); per the Google error validation docs 的结果.然后您可以打印出与 403 代码一起出现的实际消息,或者可能决定重试该请求。如果它是随机发生的,我猜是配额限制问题,但实际的错误信息可能会准确告诉您您想知道的内容。

关于php - YouTube XML Feed 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7093943/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com