Google Places API网络服务API密钥无效

时间:2015-12-17 17:16:50

标签: php google-maps-api-3

我刚刚注册了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密钥。 我也尝试过我昨天创建的先前密钥,它提供了相同的答案

无论如何,谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您的请求网址不正确。

来自the documentation

  

放置详细信息请求

     

地方详情请求是以下格式的HTTP网址:

     

https://maps.googleapis.com/maps/api/place/details/output?parameters   其中输出可以是以下值之一:

     

json (推荐)表示JavaScript Object Notation(JSON)中的输出   xml表示输出为XML   启动搜索请求需要某些参数。作为URL中的标准,所有参数都使用&符号(&)分隔。以下是参数列表及其可能的值。

     

密钥(必填) - 您应用程序的API密钥。此密钥用于标识您的应用程序以进行配额管理,以便从您的应用程序添加的位置立即可供您的应用程序使用。访问Google Developers Console以创建API项目并获取您的密钥。    placeid 或引用(您必须提供其中一个,但不能同时提供):   placeid - 从地方搜索返回的唯一标识地点的文本标识符。有关地点ID的详细信息,请参阅地点ID概述。   reference - 从地方搜索返回的唯一标识地点的文本标识符。注意:现在不推荐使用该引用而使用placeid。请参阅此页面上的弃用通知。