我正在尝试使用PHP和cURL从Google Places API获取数据,但是cURL给出了错误“无法连接到主机”。如果我在浏览器中粘贴Google商家信息请求网址,则可以正常使用。 file_get_contents也不起作用。这是我的代码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
//curl_setopt($ch, CURLOPT_POST, 1);
//curl_setopt($ch, CURLOPT_POSTFIELDS, $fieldString);
$result = curl_exec ($ch);
if (curl_errno($ch)) {
return curl_error($ch);
} else {
curl_close($ch);
}
return $result;
我要求的网址是https://maps.googleapis.com/maps/api/place/search/json?key=xxx&location=27.916766641249062,-82.08984375&radius=50000&sensor=true&types=bar%7Cnight_club。出于安全考虑,我删除了我的API密钥。
答案 0 :(得分:0)
我非常喜欢在可能的情况下使用file_get_contents()
,它非常简单和优雅。
通常我做
<?php
$json = (array) json_decode(file_get_contents("https://maps.googleapis.com/maps/api/place/search/json?key=xxx&location=27.916766641249062,-82.08984375&radius=50000&sensor=true&types=bar%7Cnight_club."));
var_dump($json);
?>
那么你应该看到这样一个数组:
array(3) {
["html_attributions"]=>
array(0) {
}
["results"]=>
array(0) {
}
["status"]=>
string(14) "REQUEST_DENIED"
}
显然,我没有正确的API密钥:)希望它会有用。