0

私はJsonを初めて使用しますが、Google画像APIで機能する方法を適用しましたが、Google 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

HTTP レスポンスの本文を確認してみましたか [印刷した可能性があります]?

Google のような Web サービスは、json コンテンツ自体にサーバー側のエラーを示す場合があります。

元:

あなたはjson文字列を期待しています{ "items": "Sample item" }

しかし、応答のjson文字列は次のようなものでした{ "error" : "invalid key/id1" }

[申し訳ありませんが、PHP はあまり得意ではありませんが、Google API と CURL を使用しました]

于 2012-06-16T08:15:28.290 に答える
0

PHPマニュアルから

json をデコードできない場合、またはエンコードされたデータが再帰制限よりも深い場合は、NULL が返されます。

PHP 5.3.0 では再帰の深さが 128 から 512 に増加したため、これが問題ではない可能性が高く、$body有効な JSON が含まれていない可能性があります。$urlの値が有効な JSONを指していることを確認し、調べてください。json_last_error()

于 2012-06-16T06:03:13.277 に答える