【问题标题】:Google SDK returns 403 `User Rate Limit Exceeded`Google SDK 返回 403 `User Rate Limit Exceeded`
【发布时间】:2017-03-14 14:54:24
【问题描述】:

我目前正在尝试使用谷歌开发者 SDK。 在那里我试图利用谷歌翻译功能。 使用通过谷歌开发者控制台获得的访问令牌发送请求时,翻译工作正常。 但是使用这个 SDK 它会不断地抛出一个403 User Rate Limit Exceeded

这是有问题的代码:

googleService.defineAction$(function translateMessage(target, message, projectId) {
    const translateClient = Translate({
        projectId: projectId    
    })
    console.log(target, message)
    return translateClient.translate(message, target)
        .then(function handleTranslateResults(results) {
            console.log('result : ', result)
            return result
        }) 
        .catch(function handle(err) {
            console.log('err : ', err)
        })
})

我已启用结算功能。 我是唯一一个发送请求的人,每次只有大约 10 个字符。 这就是为什么我对此感到困惑,我不可能达到极限。

检查我的配额和请求日志可以确认这一点。

我还尝试在加载代码时在函数外部初始化翻译客户端,但这会产生相同的结果。

我知道以前有人问过这个问题,但这些答案都没有解决我的问题,我在网上找不到解释。

【问题讨论】:

  • 在这里查看答案:stackoverflow.com/questions/7646112/…
  • 我之前已经阅读过这个答案,我已将配额设置为尽可能高。等了15分钟。发送了将hello world 翻译成荷兰语的请求。它仍然抛出错误
  • 如果您使用的 api 确实是这个:cloud.google.com/translate/pricing 那么我会假设确实没有速率限制,但您还没有激活付费 teir。抱歉,我之前只使用过 firebase 和 maps api。

标签: javascript node.js google-translate google-cloud-sdk


【解决方案1】:

因此,在查看了 SDK 的节点模块后,我发现了一份自述文件,它与 google 在 github 及其示例页面上推广的文件不同。 问题在于传递给Translate({}) 的对象还必须包含有效的 api 密钥。 没有它,它将向 api 管理器中使用的“在浏览器中尝试此功能”功能发出相同 url 的请求。在被要求注册付费帐户之前,此 URL 只能使用一次或两次。之后它只会返回 403“超出用户限制率”。

我已经向错误示例所在的 google github 提交了 PR。 https://github.com/GoogleCloudPlatform/nodejs-docs-samples/pull/324

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-15
    • 2016-02-14
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 2015-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多