Google SDK会返回403“超出用户速率限制”

时间:2017-03-14 14:54:24

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

我目前正在尝试使用google开发人员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个字符。 这就是为什么我对此感到困惑,没有可能的方式我可以达到极限。

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

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

我知道之前已经问过这个问题,但这些答案都没有解决我的问题,也无法在网上找到解释。

1 个答案:

答案 0 :(得分:1)

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

我已经向谷歌github做了一个PR,错误的例子就在那里。 https://github.com/GoogleCloudPlatform/nodejs-docs-samples/pull/324