【问题标题】:Google Places REQUEST_DENIED from Server Request - Nothing works来自服务器请求的 Google 地方信息 REQUEST_DENIED - 没有任何效果
【发布时间】:2012-08-15 15:15:09
【问题描述】:

经过数小时的搜索和尝试在网络上找到的所有可能解决方案,我无法尝试其他任何方法来解决我的问题,所以我真的需要帮助:

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

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

  • 我得到的回应是

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

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

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

非常感谢任何帮助!谢谢。

【问题讨论】:

  • 上述请求适用于我的 API 密钥。您是否考虑过使用 Google Maps JavaScript API v3 的 Places Library
  • 我使用 jQuery 自动完成来管理我的文本框,所以我想声明一个 php 脚本,它接受查询字符串,在服务器上运行,并将结果返回给 jQuery 自动完成 UI。所以,我不想实现任何客户端解决方案(顺便说一句,服务器端没有)。
  • 更新:我创建了一个简单的 PHP 文件,它使用 Places API 实现了一个简单的搜索请求,完全复制自 Google Places API 文档。它仍然得到 REQUEST_DENIED。我认为由于某种原因我的密钥被拒绝了。我已经仔细检查了该密钥允许的 IP 是否与我的服务器的 IP 相同。

标签: google-places-api google-places


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    不确定这是否有帮助,但这里有一个简短的示例:

    https://google-developers.appspot.com/maps/documentation/javascript/examples/places-autocomplete?hl=el

    【讨论】:

    • 这是客户端解决方案(使用 javascript),它将文本框完全管理为自动完成框。我想用 jQuery 管理我的文本框,所以我只需要在用户输入时将我的搜索发送到谷歌,获取结果并用 jQuery 显示它们。所以我只需要通过服务器端脚本调用 Google Places
    【解决方案3】:

    我遇到过类似的问题,已修复并发现了一些可能有助于解决此问题的方法

    • 使用 http 而不是 https 将导致 REQUEST_DENIED
    • 省略 &userIp=x.x.x.x 将导致 REQUEST_DENIED
    • 需要生成和使用服务器密钥,以防请求来自 php 脚本,即使用户仅通过浏览器使用,否则将导致 REQUEST_DENIED
    • 需要几分钟才能测试允许的 IP 列表是否已更改

    希望对大家有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多