【问题标题】:Zend Youtube Api keeps returning exceptionZend Youtube Api 不断返回异常
【发布时间】:2013-05-26 18:29:52
【问题描述】:

每当我尝试从 youtube 获取一些数据时,它都会不断返回“向服务器写入请求时出错”作为异常消息。我正在使用 zend 1.12.3 并尝试了以下一些方法,顺便说一下,这些方法在 1-2 个月前有效,但现在显然它们没有

$yt = new Zend_Gdata_YouTube();
$yt->setMajorProtocolVersion();
$url = 'https://gdata.youtube.com/feeds/api/videos?orderby=relevance&start-index=1&time=this_month&max-results=15&q=pranks+epic+funny+fun+cool';
$videoFeed = $yt->getVideoFeed($url);

$yt = new Zend_Gdata_YouTube();
$query = $yt->newVideoQuery();
$query->videoQuery = 'cat';
$query->startIndex = 10;
$query->maxResults = 20;
$query->orderBy = 'viewCount';

$videoFeed = $yt->getVideoFeed($query);

他们都返回了我提到的异常。不过这个

$yt = new Zend_Gdata_YouTube();
$url = 'http://gdata.youtube.com/feeds/standardfeeds/top_rated?time=today';
$videoFeed = $yt->getVideoFeed($url);

有效且不返回错误。

我在本地和服务器上尝试了同样的事情,同样的错误。有没有其他人得到同样的错误? youtube可能有问题吗?

【问题讨论】:

  • 我已经尝试了所有 3 个代码 sn-ps 并且一切正常,除了您在第一个示例中缺少 setMajorProtocolVersion 函数调用的参数。话虽如此,我认为您的代码没有任何问题。看看this answer,它可能会为你的真正问题提供一些启示。
  • 实际上我尝试了一些解决问题的方法,你能解释一下为什么会这样吗?我已将其添加为下面的答案。
  • 我读过你是如何解决这个问题的,但我真的不知道。您应该尝试按照我在之前评论中发布的答案中的说明进行调试。从Zend/Gdata/HttpAdapterStreamingSocket.php 文件中的fwrite 指令中删除@ 应该会显示正在发生的真正错误。

标签: zend-framework exception youtube gdata


【解决方案1】:

出于某种奇怪的原因,当我将第一个示例中的 $url 从“https://.....”更改为“http://.....”时,它起作用了。

这很奇怪,因为 https 应该可以工作,但我将其留给可能遇到相同问题的任何人。

【讨论】:

  • 就此向 YouTube 提出问题。不要让它像这样挂着 - 如果 youtube 有问题,他们需要解决它,尤其是在加密之类的问题上。
  • 是的,你是对的,我今天报告了这个问题,等待回复。谢谢提醒!
猜你喜欢
  • 2017-03-29
  • 2017-03-30
  • 2012-05-09
  • 2014-09-03
  • 1970-01-01
  • 2015-04-12
  • 2015-03-15
  • 2013-10-04
  • 1970-01-01
相关资源
最近更新 更多