为什么我得到"请求被拒绝" - Google Places API

时间:2017-04-08 23:02:10

标签: google-maps google-places-api google-places

我尝试使用google places API添加地点。

启用了API IS ,API密钥有效。这是我的代码:

$url = "https://maps.googleapis.com/maps/api/place/add/json?key=MYKEY";
$content = json_encode('{
"location": {
"lat": 55.9868532,
"lng": -4.5780577
},
"accuracy": 50,
"name": "Home Made Pizza",
 "types": ["other"],
"website": "http://example.com",
"language": "en-AU"
}');

$curl = curl_init($url);

curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER,
    array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);

$json_response = curl_exec($curl);

$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);

if ( $status != 201 ) {
die("response $json_response");
};


curl_close($curl);

$response = json_decode($json_response);

我得到的回应是

response { "status" : "REQUEST_DENIED" }

帮助: - )

2 个答案:

答案 0 :(得分:0)

根据此thread,确保您已在控制台中启用了API。

  

您正在使用http(s)来调用Google API,您的html也是在http(s)下托管的。如果没有,请尝试将google网址更改为http。

     

否则其他所有其他东西看起来都不错,所以这让我觉得你可能想再次检查你的api控制台,转到服务并检查你的' Places API'打开了。

     

您还可以尝试将端口地址更改为443以从Places API

获取响应

以下是一些可能也有帮助的链接:

答案 1 :(得分:0)

这里的问题是我正在使用" json_encode"在json。

我不需要对其进行编码,这是一个错误。

故事的士气,不是Json_encode Json。