【问题标题】:Random (403) User Rate Limit Exceeded超出随机 (403) 用户速率限制
【发布时间】:2015-04-24 01:43:42
【问题描述】:

我正在使用 translate API 来翻译我页面中的一些文本,这些文本是大的 html 格式文本,所以我必须开发一个函数,将这些文本拆分成小于 4500 个字符(包括 html 标签)的小块,以避免每个请求限制为 5000 个字符,我还必须修改 Google PHP API 以允许通过 POST 发送请求。

我在 Goole Developers Console 中启用了付费版本的 api,并将总配额更改为每天 50M 字符和 500 个请求/秒/urser。

现在我正在使用脚本翻译整个文本数据库,它工作正常,但在某些随机点我恢复了错误“(403)超出用户速率限制”,我必须等待几分钟才能重新运行脚本,因为当遇到错误时,api 会一遍又一遍地返回相同的错误,直到我等待一段时间。

如果我不通过请求的数量,我不知道为什么它会一直返回错误,就像它在每个时间间隔或某事上都有某种最大字符...

【问题讨论】:

标签: google-api google-translate


【解决方案1】:

您可以控制字符限制,但不能控制并发

您正在发出超过 500 个并发请求/秒,或者您正在使用另一个达到此类并发限制的 Google API。

【讨论】:

  • 不幸的是,这不是原因。这些是带有错误消息的随机错误。除非 Google 修复自己的代码,否则没有解决方案。
【解决方案2】:

您可能超出了您之前设置的配额限制:这是每日计费或每秒请求字符的限制。

要更改使用限制或请求增加配额,请执行以下操作: 1. 转到谷歌开发者控制台“https://console.developers.google.com/”。 2. 选择一个项目。 3. 在左侧边栏中,展开 APIs & auth。 4. 单击 API。 5. 单击您感兴趣的已激活 API 的名称“即翻译 API”。 6. 在 API 信息页面顶部附近,单击配额。

  • 如果您启用了计费,只需点击配额,它就会带您进入配额页面,您可以在其中查看和更改与配额相关的设置。

  • 如果没有,单击配额会显示有关适用于 Translate API 的任何免费配额和限制的信息。

【讨论】:

  • 这很好用,我用谷歌搜索的所有其他地方都没有答案
  • @mohab 不幸的是,这不是真的。即使请求数量少于配额的 1%,我偶尔也会遇到同样的错误。主要原因是 Google API 很糟糕。自 2012 年以来,我一直在使用几乎所有的 Google API,不同的版本和一个又一个的版本变得越来越糟糕。
  • 这可能与特定的 Google App 域有关。相信每个用户每秒有 10 个请求的限制。 Google API 是垃圾,因为它不能正常工作。我们更活跃的用户遇到了这个问题,几乎使整个集成变得毫无用处
  • 我需要有关超出配额的帮助:stackoverflow.com/questions/45324747/…
【解决方案3】:

Google Developer Console 的速率限制为每秒 10 个请求,无论您可能更改了哪些设置或限制。

您可能已超出此限制。

我无法找到任何相关文档,但可以通过各种 API 请求自行验证。

【讨论】:

    【解决方案4】:

    默认情况下没有设置referer标头,但可以将标头添加到请求中,如下所示:

    $result = $t->translate('Hola Mundo', [
        'restOptions' => [
            'headers' => [
                'referer' => 'https://your-uri.com'
            ]
        ]
    ]);
    

    如果您在客户端级别设置引用者更有意义(因此所有流经客户端的请求都会收到标头),这也是可能的:

    $client = new TranslateClient([
        'key' => 'my-api-key',
        'restOptions' => [
            'headers' => [
                'referer' => 'https://your-uri.com'
            ]
        ]
    ]);
    

    这对我有用!

    Reference

    【讨论】:

      【解决方案5】:

      就我而言,此错误是由我的无效付款信息引起的。转到计费区域并确保一切正常。

      【讨论】:

      • 谢谢,是的,由于逾期 0.33 卢比,我收到了这个错误,付款成功后,它工作得很好
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-20
      • 1970-01-01
      • 2019-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-02
      相关资源
      最近更新 更多