【问题标题】:Google places autocomplete api - REQUEST_DENIEDGoogle Places 自动完成 api - REQUEST_DENIED
【发布时间】:2011-12-03 18:53:08
【问题描述】:

我正在创建使用自动填充位置 google api 的应用程序。

我不知道出了什么问题,但我一直收到如下回复:

{
    "predictions" : [],
    "status" : "REQUEST_DENIED"
}

我发送请求:https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Paris&types=geocode&language=fr&sensor=true&key=mykey

文档说:

REQUEST_DENIED 表示您的请求被拒绝,通常是因为缺少传感器参数。

我有传感器参数,可能是api键的东西。

是否有任何页面可以获取 google 的日志 :),看看为什么我得到了REQUEST_DENIED

我使用 api 密钥来自:

http://code.google.com/intl/pl-PL/android/maps-api-signup.html

也许我必须从其他地方获取 api 密钥。

【问题讨论】:

标签: android google-api google-places-api


【解决方案1】:

您应该能够通过首先转到 API 控制台来查看您的 API 密钥: https://code.google.com/apis/console

如果您还没有,您需要创建一个新的“项目”,然后首先使用开/关开关启用预测服务。

请发布您的结果,我在获得 REQUEST_DENIED 响应时遇到了类似的问题,但我已经获得了 API 密钥,并且我正在使用传感器参数,就像他们的文档状态一样。

令人沮丧的是,Google 没有提供任何类型的响应代码以及 REQUEST_DENIED,因此您可以了解它拒绝它的原因。如果在没有提供任何详细信息的情况下随机出现,这将很难在生产环境中提供支持和故障排除。

更新:

我现在才发现这对我有用,但只有在将我的请求更改为 GET 请求而不是 POST 之后。由于未知原因,Google 会为 POST 请求返回 REQUEST_DENIED,但允许通过 GET 进行相同的请求。一个快速测试,看看这是否是您的问题,将 URL 与您的 API 密钥和其他参数放在一起,然后通过您的浏览器进行尝试。如果可行,那么只需重写您的 Android 代码以使用 GET 而不是 POST,您应该已经准备就绪。

【讨论】:

    【解决方案2】:

    我在交换 API 密钥时解决了这个问题。我使用的是 Android 设备下的那个,我将其更改为“浏览器应用程序的密钥(带引用者)”,尽管我使用的是 Android 设备,但它对我有用。

    【讨论】:

      【解决方案3】:

      我建议使用 .getJson() 来获取错误消息以及您的响应以了解究竟是什么错误。

      对于我的 Flutter 案例:我使用了 googlePlace!.autocomplete.getJson(value); 我得到了以下回复。

      { "error_message" : "You must enable Billing on the Google Cloud Project at https://console.cloud.google.com/project/_/billing/enable Learn more at https://developers.google.com/maps/gmp-get-started", "predictions" : [], "status" : "REQUEST_DENIED" }

      【讨论】:

        【解决方案4】:

        这是错误的 API 密钥。按照步骤here 获得正确的。

        【讨论】:

        • 链接已损坏。
        【解决方案5】:

        确保您的 API 密钥生成正确并且您已启用必要的 APIS。 就我而言,在设计 iOS 应用程序时 - 我需要启用适用于 iOS 的 Google Maps SDK、适用于 iOS 的 Google Places API

        最重要的是,并且没有被 Google 提及(在任何其他地方也是如此)启用 Google Places API 网络服务

        至此,我结束了为期 2 天的针对我讨厌的问题的搜索。

        当然,请确保您使用服务器应用程序的密钥

        【讨论】:

          猜你喜欢
          • 2013-10-10
          • 2012-02-22
          • 1970-01-01
          • 2014-05-01
          • 2017-10-02
          • 1970-01-01
          • 2022-06-19
          • 2012-01-15
          • 2012-05-10
          相关资源
          最近更新 更多