【发布时间】:2019-12-04 17:05:05
【问题描述】:
我有一个简单的 Node JS 脚本,在终端本地运行时效果很好:
exports.google_translate = function (translate_text, res) {
var Translate = require('@google-cloud/translate');
var translate = new Translate.Translate({projectId: 'my project'});
translate.translate(translate_text, 'fr').then(results => {
var translation = results[0];
res.send(translation);
}).catch(err => {
res.send('ERROR:', err);
});
}
但是,每当我通过 Ajax 调用它时,我都会收到以下错误:
Error: The request is missing a valid API key.
我已经使用这个将它添加为永久环境变量:
export GOOGLE_APPLICATION_CREDENTIALS="[PATH to key downloaded]"
但是每次我通过 Ajax 调用这个脚本时,我都会得到同样的错误。所以我的问题是,如何让 Node JS 脚本保存 API 密钥,以便在通过 Ajax 调用时工作?
谢谢
【问题讨论】:
-
你试过将json文件的路径传递给构造函数吗?
Translate({ keyFilename: '/path/to/keyfile.json'})
标签: javascript node.js ajax google-translate