此IP,站点或移动应用程序无权使用此API密钥

use*_*944 87 google-api google-places-api

我使用https://maps.googleapis.com/maps/api/geocode/json?链接服务器密钥和用户IP以查找任何地址的纬度和经度,当我尝试我发现错误为

我有一个来自谷歌的服务器访问密钥,我已将我的服务器的IP地址放在他们的白名单中.

我试图通过PHP CURL访问的URL是:

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true&key=XXXXXXXXXXXX

结果我得到:

Array ([error_message] => This IP, site or mobile application is not authorized to use this API key. [results] => Array ( ) [status] => REQUEST_DENIED)
Run Code Online (Sandbox Code Playgroud)

有什么我需要配置.地理编码api也已打开.

mik*_*013 141

我有同样的问题,我发现了这个.

在网址上,它最终需要服务器密钥而不是应用程序的api密钥.

所以基本上,你只需在URL的末尾添加服务器密钥,如下所示:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&sensor=true&key=SERVERKEY

现在,要获取服务器密钥,只需按照以下步骤操作:

1)访问开发者控制台https://code.google.com/apis/console/

2)在"凭据"中的"公共API访问"下,单击"创建新密钥"

3)从选项中选择服务器密钥.

4)在字段中输入您的IP地址,如果您有更多的IP地址,您可以添加每一行.注意:仅当您要将其用于测试目的时才输入IP地址.否则,将IP地址部分留空.

5)完成后,单击"创建",将生成新的服务器密钥,然后您可以将该服务器密钥添加到URL中.

最后一点是,不是将sensor = true放在URL的中间,而是可以将它添加到最后,如下所示:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&key=SERVERKEY&sensor=true

这肯定会解决问题,只记得使用服务器密钥Places API.

希望这个答案能够帮助你和其他观众.祝好运 .. :)

  • 非常重要4)在字段中输入您的IP地址,如果您有更多的IP地址,您可以在每一行添加.注意:仅当您要将其用于测试目的时才输入IP地址.否则,将IP地址部分留空. (8认同)
  • 这是正确的..仅指定IP地址/地址用于测试目的.否则,请留空.因为您限制应用程序或API密钥仅在特定设备/应用程序上工作. (6认同)
  • 将IP地址字段留空的+1. (6认同)
  • 不再有“服务器密钥”之类的东西了。请参阅下面我的回答。 (3认同)

Mic*_*ble 14

除了分配给您的API密钥之外,Google还会通过查看REFERRER或IP地址来验证传入请求的来源.要在curl中运行示例,请Server KeyGoogle API控制台中创建一个新的.创建它时,您必须提供服务器的IP地址.在这种情况下,它将是您的本地IP地址.创建Server Key并将您的IP地址列入白名单后,您应该能够在curl中使用新的API密钥.

我猜您可能创建了一个API密钥,Browser Key它不需要您将IP地址列入白名单,而是使用REFERRERHTTP标头标记进行验证.curl默认情况下不会发送此标记,因此Google未能验证您的请求.


Tua*_*yen 14

  1. 选择键
  2. API限制选项卡
  3. 选择API密钥
  4. 保存
  5. 选择应用程序限制 - >无
  6. 保存

在此输入图像描述

在此输入图像描述

在此输入图像描述

在此输入图像描述

  • 禁用安全性不是解决方案! (5认同)
  • 限制:没有一个是非常危险的。 (4认同)

Naz*_*lam 5

Google Places API目前不支持从Google API控制台生成的Android或iOS密钥.目前仅支持服务器和浏览器键.