来自服务器请求的Google Places REQUEST_DENIED - 没有任何作用

Ale*_*lou 2 google-places-api google-places

经过几个小时的搜索和尝试在网上找到的每一个可能的解决方案,我不能尝试任何其他问题,所以我真的需要帮助:

我想实现一个带有地理编码结果的简单自动完成文本框,所以我在用户输入文本框时调用AJAX请求

  • 我已通过Google API控制台启用了Google地图和Google地方信息
  • 我使用服务器的IP为服务器应用程序创建了一个密钥
  • 我在服务器上运行了一个PHP文件(通过AJAX调用),它使用file_get_contents()函数将请求发送到Google Places(启用了SSL) - 也尝试使用cURL函数
  • 我要求的要求是

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=MY_SEARCH_STRING&language=us&types=geocode&sensor=false&key=MY_KEY

其中MY_SEARCH_STRING是一个简单的字符串,如"London",MY_KEY是我创建的Key

  • 我得到的回应是

{"预测":[],"状态":"REQUEST_DENIED"}

  • 我也用浏览器密钥尝试了这个.还尝试创建一个新项目,重新启用服务,并创建新密钥.打开/关闭切换服务并以任意组合多次创建新密钥.没有任何效果.

  • 奇怪的是,相同的代码在我在服务器上创建的登录页面中的最后几个月工作,但是很长时间检查它,所以我不知道它什么时候停止工作.

我很感激任何帮助!谢谢.

Ale*_*lou 5

解决了.在Google API控制台中,我已声明允许的服务器IP.我假设如果我宣布一个IP,我只是确保只允许来自该IP的请求.为了使其工作,您还必须为每个IP声明允许的每用户限制,否则它只是不允许任何请求.我删除了所有允许的IP,等待3-4分钟,并允许请求.