【发布时间】:2019-06-11 15:10:32
【问题描述】:
我目前正在使用 NodeJS 客户端库使用名为 API Speech-to-Text 的 GCP 服务。
为此,我遵循了快速入门文档,首先尝试识别一个简短的本地音频文件(非常简单)。但是,当我运行 node test_sample.js 时,我不断收到此错误:
ERROR: { Error: Quota exceeded for quota metric 'speech.googleapis.com/default_requests' and limit 'DefaultRequestsPerMinutePerProject' of service 'speech.googleapis.com' for consumer 'project_number:764086051850'.
at Http2CallStream.call.on (/Users/macOSuser/Projects/nodejs-speech/samples/node_modules/@grpc/grpc-js/build/src/client.js:102:45)
at Http2CallStream.emit (events.js:198:15)
at Http2CallStream.endCall (/Users/macOSuser/Projects/nodejs-speech/samples/node_modules/@grpc/grpc-js/build/src/call-stream.js:74:18)
at /Users/macOSuser/Projects/nodejs-speech/samples/node_modules/@grpc/grpc-js/build/src/call-stream.js:163:18
at processTicksAndRejections (internal/process/task_queues.js:86:5)
注意:上面提到的project_number和我的不一样
我已经尝试更改我的默认 gcloud 项目/帐户,以及创建一个全新的项目并再次激活 API。 我还在 GCP Console 上检查了我的请求图,是的,它们是空的
快速入门示例代码见here
感谢您对此的帮助
编辑已解决:这是一个身份验证问题,我使用服务帐户的 JSON 密钥解决了该问题,并通过运行 export GOOGLE_APPLICATION_CREDENTIALS="/PATH-TO-FILE/key.json" 进行引用。
谢谢@JJ Geewax
【问题讨论】:
-
您超出了配额。检查您的代码以查看您发出了多少 API 请求。结构不佳的循环可能会很快导致此问题。
-
这基本上是 GCP 的快速入门 + 我的音频长达 30 秒 + 甚至 1 天后我在 GCP 控制台的配额图表上看不到任何记录的请求。不要认为这是代码问题
-
嗨,我遇到了完全相同的问题。似乎 Google 刚刚更改了身份验证方法中的某些内容。
-
是的,这是一个身份验证问题,我发现此错误消息非常具有误导性...
-
已解决:简单地说,谷歌现在想要你的信用卡号;如果您在一个月内使用 API 超过 60 分钟,他们不会阻止您的请求,而是会向您开具发票……因此您必须创建一个服务帐户,启用 API 并同意在每月 60 分钟后付款。
标签: node.js google-cloud-platform speech-to-text