0

我是 Json 的新手,我已经应用了适用于谷歌图像 API 的方式,我想知道将它用于谷歌 CSE 的方式是否相同?

$url ="https://www.googleapis.com/customsearch/v1?key=WHATEVER&cx=017728263617760474213:e_b2kmmuyco&q=standard%20form";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, "http://localhost/GSearch2.php");
$body = curl_exec($ch);
curl_close($ch);

$json = json_decode($body);
print_r($json->items);

没有结果也没有错误出现

4

2 回答 2

0

从 PHP 手册

如果无法解码 json 或编码的数据深度超过递归限制,则返回 NULL。

由于递归深度在 PHP 5.3.0 中从 128 增加到 512,很有可能这不是问题,因此$body可能不包含有效的 JSON。确保$url指向有效 JSON 的值并查看json_last_error()

于 2012-06-16T06:03:13.277 回答
0

您是否尝试检查 HTTP 响应正文 [可能是通过打印它]?

有时,像 Google 这样的 Web 服务会在 json 内容本身中指示服务器端错误。

前任:

你期待一个 json 字符串{ "items": "Sample item" }

但响应 json 字符串类似于{ "error" : "invalid key/id1" }

[对不起,我不是很擅长 PHP,但我使用过 Google API 和 CURL]

于 2012-06-16T08:15:28.290 回答