如何设置 Google 将 API 翻译成 Node.js?

How to setup Google Translate API for Node.js?

我想在我的 Node.js 应用程序中使用 Googles Cloud Translation API,但是我收到 The request is missing a valid API key. 错误。

我已按照 Google 提供的 Quickstart guide 进行操作。

我已经创建了 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,Node 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"