【问题标题】:Why is my google API key breaking after 100 requests为什么我的 google API 密钥在 100 个请求后中断
【发布时间】:2020-02-06 23:13:59
【问题描述】:

我正在验证地址以确保它们存在。我正在使用谷歌 API 来执行此操作。我有一个谷歌 API 密钥,它工作得很好....直到我超过 100。在请求 110 我得到这个

{
  candidates: [],
  error_message: 'You must use an API key to authenticate each request to Google Maps Platform APIs. For additional information, please refer to http://g.co/dev/maps-no-account',
  status: 'REQUEST_DENIED'
}

我所做的只是遍历地址列表。在那之前它工作得很好。而且总是在同一点。

我已经尝试通过将它包装在一个 while 循环中并且一次只执行 50 个来减慢它的速度(认为我太快地发出了太多请求),但是所有这些都会减慢它的速度但仍然会崩溃110.

任何想法为什么或如何或如何解决它?如果有帮助,它是一个未付费的 API 密钥(想知道他们是否有请求限制,我找不到任何说他们这样做的东西)

【问题讨论】:

  • 请编辑您的问题并包含您的代码我想看看您是如何应用该 api 密钥的。

标签: javascript node.js api google-maps google-api


【解决方案1】:

虽然您似乎很可能已达到非计费帐户允许的配额,但状态代码应显示为 "OVER_QUERY_LIMIT",这表明您已超出配额,而不是您正在获得的 "REQUEST_DENIED"

https://developers.google.com/maps/documentation/geocoding/intro#StatusCodes

再往下,在同一页面上,您对可能的原因提出了建议:

“REQUEST_DENIED”表示请求被拒绝。可能是因为 >request 包含 result_type 或 location_type 参数,但不包含 >API 密钥或客户端 ID。

【讨论】:

    【解决方案2】:

    您必须设置一个结算帐户。

    【讨论】:

    【解决方案3】:

    原来是我发送给它的参数之一有一个特殊字符会破坏它。我在发送之前打印了 URL 以查看发生了什么。

    TLDR 必须在我发送的地址上使用 encodeURIComponent,然后才能发送它们

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-28
      • 2021-05-16
      • 2014-05-12
      • 1970-01-01
      • 1970-01-01
      • 2020-06-26
      • 2023-03-25
      • 2010-11-05
      相关资源
      最近更新 更多