[英]Google Places API Web Services API Key Invalid
我刚刚注册了Google Places API
。 他们给我发了一个server key
,供我在代码中使用。
这是我的代码:
function getLatLon($address)
{
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,'https://maps.googleapis.com/maps/api/geocode/json?address='.rawurlencode($address));
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
$json=curl_exec($curl);
curl_close($curl);
$json=json_decode($json);
$details=[
'lat'=>$json->results[0]->geometry->location->lat,
'lng'=>$json->results[0]->geometry->location->lng
];
return $details;
}
function getDetails($address)
{
$apikey='googlesuppliedapikey';
$locdetails=getLatLon($address);
$latitude=$locdetails['lat'];
$longitude=$locdetails['lng'];
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=$latitude,$longitude&key=$apikey');
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
$json=curl_exec($curl);
curl_close($curl);
$json=json_decode($json);
print_r($json);
}
$address='3342 Shawnee Avenue Avenue West Palm Beach, FL 33409';
getDetails($address);
纬度和经度函数可以正常工作。 我的问题是在getDetails function
。
我目前的回应如下
stdClass Object
(
[error_message] => The provided API key is invalid.
[html_attributions] => Array
(
)
[results] => Array
(
)
[status] => REQUEST_DENIED
)
不太清楚是什么问题。 我实际上是在5分钟前创建了此API密钥。 我也尝试了昨天创建的先前密钥,它提供了相同的答案
无论如何,谢谢您的帮助。
您的请求网址不正确。
从文档中
地点详细信息请求
地点详细信息请求是以下格式的HTTP URL:
https://maps.googleapis.com/maps/api/place/details/output?参数 ,其中输出可能是以下值之一:
json (推荐)指示以JavaScript对象表示法(JSON)输出。xml指示以XML输出。发起搜索请求需要某些参数。 按照URL中的标准,所有参数都使用&字符分隔。 以下是参数及其可能值的列表。
密钥 (必填)-您的应用程序的API密钥。 该密钥用于配额管理的目的是标识您的应用程序,以便使从应用程序添加的位置立即可用于您的应用程序。 访问Google Developers Console创建一个API项目并获取您的密钥。 占位符或参考(您必须提供其中之一,但不能同时提供):placeid-从位置搜索返回的唯一标识位置的文本标识符。 有关位置ID的更多信息,请参见位置ID概述。 reference(参考)—从位置搜索返回的唯一标识位置的文本标识符。 注意:现在不推荐使用引用,而推荐使用placeid。 请参阅此页上的弃用通知。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.