h0pp
h0pp

Reputation: 88

How to setup Google Translate API for Node.js?

I want to use Googles Cloud Translation API in my Node.js application, however I'm getting a The request is missing a valid API key. error.

I have followed the Quickstart guide provided by Google.

I have created GCP project, downloaded the private key as JSON file and setup the environment variable in Powershell (img).

After that I've installed the library with yarn add @google-cloud/translate

The code I'm running in my translate.js file comes from the Quickstart guide with additional try-catch blocks:

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();

When I then run node translate.js, I'll get an Error:

{ 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.' }

I am on Windows 10, Node v10.13.0.

Upvotes: 2

Views: 3616

Answers (1)

Senthil
Senthil

Reputation: 2246

Believe you would have missed this environment variable defining , before starting the node service

Replace [PATH] with the file path of the JSON file that contains your service account key, and [FILE_NAME] with the filename.

With PowerShell:

$env:GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

For example:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\[FILE_NAME].json"

Upvotes: 2

Related Questions