我关注instructions以使用Google Translate API。我有:
将以下行添加到我的.zshrc:
export GOOGLE_APPLICATION_CREDENTIALS=/pathto/Holodeck-421412.json
来源:
source ~/.zshrc
然而我的nodeJS代码和我的curl都返回:
code: 403,
errors:
[ { message: 'Daily Limit Exceeded',
domain: 'usageLimits',
reason: 'dailyLimitExceeded' } ],
response: undefined,
message: 'Daily Limit Exceeded' }
我的卷毛:
curl --header "Content-Type: application/json" --header "Authorization: Bearer `gcloud auth print-access-token`" --show-error -s "https://translation.googleapis.com/language/translate/v2" -d @translate-request.json
和translate-request.json:
{
"q": "The quick brown fox jumped over the lazy dog.",
"source": "en",
"target": "es",
"format": "text"
}
我的NodeJS代码:
// Imports the Google Cloud client library
const language = require('@google-cloud/language');
const Translate = require('@google-cloud/translate');
// Instantiates a client
const client = new language.LanguageServiceClient();
// Your Google Cloud Platform project ID
const projectId = 'myproject ID';
// Instantiates a client
const translation = new Translate({
projectId: projectId
});
// The text to analyze
let text1 = 'Hello, world!';
const translate = (text) => {
const target = 'en';
translation
.translate(text, target)
.then(results => {
const translation = results[0];
console.log(`Text: ${text}`);
console.log(`Translation: ${translation}`);
})
.catch(err => {
console.error('ERROR:', err);
});
}
const analyze = (text) => {
const document = {
content: "good very good amazingly good",
type: 'PLAIN_TEXT',
};
// Detects the sentiment of the text
client
.analyzeSentiment({document: document})
.then(results => {
const sentiment = results[0].documentSentiment;
console.log(`Sentiment score: ${sentiment.score}`);
console.log(`Sentiment magnitude: ${sentiment.magnitude}`);
})
.catch(err => {
console.error('ERROR:', err);
});
}
translate(text1);
analyze(text1);
令我感到困惑的是,自然语言API正在运行,因此服务帐户似乎正常运行。对此有何看法?我试图通过这个意想不到的障碍3个小时,我做了任何牦牛剃须,我可以想到包括打开新的项目/服务帐户/ API密钥和谷歌团体论坛(它的设计只是让我欣赏StackOverflow更多... :))
---- ---- UPDATE
当我将每日字符的配额从1,000,000更改为另一个值时,API似乎开始工作15秒左右(2-3个请求),然后返回到403错误。然后,如果我再次更改配额,我会得到另一轮2-3次请求。就好像请求本身正在改变配额,或者在15-20秒后撤消更改。
答案 0 :(得分:1)
我遇到了同样的问题,我在Google问题跟踪器中发现了这个错误:https://issuetracker.google.com/issues/70990743
答案 1 :(得分:1)
此问题现在应该已修复,请再试一次,看看您是否仍然看到此问题,并在必要时重新打开问题#70990743。
答案 2 :(得分:1)
您可以使用配额解决此问题。您应该增加“每天的字符数”和“每秒的字符数”。