【问题标题】:Trivia API not returning proper JSON in PHPTrivia API 未在 PHP 中返回正确的 JSON
【发布时间】:2016-03-09 09:17:14
【问题描述】:

我正在使用这个 API https://market.mashape.com/pareshchouhan/trivia

用于在我的网站中制作小部件,但是当我通过 CURL 调用此 API 时,它返回以下错误:

有什么解决办法吗?

这是我的代码:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://pareshchouhan-trivia-v1.p.mashape.com/v1/getAllQuizQuestions");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, FALSE);
curl_setopt($ch,CURLOPT_HEADER,FALSE); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "X-Mashape-Key" => "MY_KEY",
    "Accept" => "application/json"
  ));
$data = curl_exec($ch);
curl_close($ch);
echo $data;

当我执行这个 PHP 文件时,它在返回数据中返回“缺少 Mashape 应用程序密钥”。

http://i.prntscr.com/5f98b1e8965f42eda29875543b052ec5.png

【问题讨论】:

  • 你想做什么??
  • 我希望所有问题的结果都是来自该 API 的 JSON 格式,但 API 返回其他内容,正如我在屏幕截图 URL 中显示的那样
  • 给出你的 CURL 部分代码。
  • 我们看不到你的截图!
  • @FrayneKonok 不工作返回同样的错误。

标签: php curl


【解决方案1】:

您错误地指定了卷曲标题。查看http://php.net/manual/en/function.curl-setopt.php 文档中的 CURLOPT_HTTPHEADER 选项。您的代码应如下所示:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://pareshchouhan-trivia-v1.p.mashape.com/v1/getAllQuizQuestions");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "X-Mashape-Key: MY_KEY",
    "Accept: application/json"
));
$data = curl_exec($ch);
curl_close($ch);

【讨论】:

  • 这很有用,但我收到 504 网关错误,即 API 问题。谢谢。
  • 是的,您的 504 错误现在超时,从 APi 文档中我认为您缺少限制和页面参数,请尝试添加它们。如果我已经解决了您最初的问题,您能否将答案标记为已接受。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-12
  • 1970-01-01
  • 1970-01-01
  • 2016-08-21
  • 1970-01-01
  • 2022-12-02
  • 1970-01-01
相关资源
最近更新 更多