我正在尝试在我的网站上制作Youtube v3 Data API。
我无耻地从谷歌的代码示例中复制了this代码,但它无效。显示的错误信息是:
发生客户端错误:所有可缓存的请求必须具有创建日期。
我以前遇到过API密钥的问题,因为我忘了几乎所有关于API的内容,我只是觉得这个样本对于记住事情会很有用。我设法生成了适当的密钥,现在我确信这不是真正的问题。
可悲的是Google没有找到与此问题相关的帖子,除了我在网站上实现的实际Php Library的两个链接,以使一切正常。通过仔细观察,我注意到了一个可能有用的开发者评论。
$rawDate = $resp->getResponseHeader('date');
$parsedDate = strtotime($rawDate);
if (empty($rawDate) || false == $parsedDate) {
// We can't default this to now, as that means future cache reads
// will always pass with the logic below, so we will require a
// date be injected if not supplied.
throw new Google_Exception("All cacheable requests must have creation dates.");
}
我能很好地理解英语,但我真的不知道该怎么做。 我甚至试图在我的代码中在请求中添加某种日期,但它不起作用(你可以笑):
// Call the search.list method to retrieve results matching the specified
// query term.
$searchResponse = $youtube->search->listSearch('id,snippet', array(
'q' => $_GET['q'],
'maxResults' => $_GET['maxResults'],
'date' => strtotime(),
));
发生客户端错误:(列表)未知参数:'date'
任何提示?提前谢谢
编辑:我知道,这个PHP库目前处于测试阶段,但必须有一些解决方法。
编辑2:我找到了一个临时工作。我在Php库中颠倒了'if'的逻辑门,现在它可以工作了。但我不喜欢这样做,我不会将此标记为已解决。至少如果你知道错误的原因请向我解释,我真的很感兴趣。