node.js - 如何为 Node.js 设置 Google 翻译 API?
问题描述
我想在我的 Node.js 应用程序中使用 Googles Cloud Translation API,但是我遇到了一个The request is missing a valid API key.
错误。
我已按照Google 提供的快速入门指南进行操作。
我已经创建了 GCP 项目,将私钥下载为 JSON 文件,并在 Powershell ( img ) 中设置了环境变量。
之后我安装了库
yarn add @google-cloud/translate
我在translate.js
文件中运行的代码来自带有附加try-catch
块的快速入门指南:
async function quickstart(
projectId = process.env.PROJECT_ID // Project Id from JSON file
) {
try {
// Imports the Google Cloud client library
const { Translate } = require('@google-cloud/translate');
// Instantiates a client
const translate = new Translate({ projectId });
// The text to translate
const text = 'Hello, world!';
// The target language
const target = 'ru';
// Translates some text into Russian
const [translation] = await translate.translate(text, target);
console.log('Text:', text);
console.log('Translation:', translation);
} catch (error) {
console.error(error);
}
}
quickstart();
然后当我运行时node translate.js
,我会得到一个错误:
{ Error: The request is missing a valid API key.
...
code: 403,
errors:
[ { message: 'The request is missing a valid API key.',
domain: 'global',
reason: 'forbidden' } ],
response: undefined,
message: 'The request is missing a valid API key.' }
我在 Windows 10,节点 v10.13.0 上。
解决方案
相信你会错过这个环境变量定义,在启动节点服务之前
将 [PATH] 替换为包含您的服务帐户密钥的 JSON 文件的文件路径,并将 [FILE_NAME] 替换为文件名。
使用 PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
For example:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\[FILE_NAME].json"
推荐阅读
- typescript - 使用momentjs将日期从阿拉伯语格式化为英语
- powerbi - 在 PowerBI 仪表板中复制视觉对象
- javascript - 如何在js中使用键盘事件创建计数计时器
- arrays - C ++扫描书面文本崩溃程序?
- azure - 如何检查 Azure 专用 SQL 池中的 MAXDOP 配置
- python - 如何在 Django 中播放列表的多对多字段的模板中显示 YouTube 视频数据,例如视频名称和视频 url
- laravel - Laravel“PHP Artisan route:list”失败,目标类 [App\Http\Controllers\API\Auth\LoginController] 不存在
- visual-studio-code - 有没有办法获取其他 VSCode 窗口/实例工作区文件夹?
- gpgpu - 用于并行求和减少的 Vulkan 计算着色器
- vue.js - 2021 年如何在 vue.js 中手动嵌入 Instagram 帖子