Настройка переменных среды в узле, в частности GOOGLE_APPLICATION_CREDENTIALS - PullRequest
0 голосов
/ 24 июня 2018

У меня есть приложение-нод, и я пытаюсь использовать API языка Google. Я хочу установить переменную окружения GOOGLE_APPLICATION_CREDENTIALS для файла json в том же каталоге (родственный для package.json и app.js).

Я пытался process.env.GOOGLE_APPLICATION_CREDENTIALS = "./key.json"; в своем файле app.js (с помощью Express), но он не работает. Я также попытался поместить "GOOGLE_APPLICATION_CREDENTIALS":"./key.json" в мой package.json, и это не сработало. Это работает, когда я бегу в терминале export GOOGLE_APPLICATION_CREDENTIALS="./key".

Вот сообщение об ошибке:

ERROR: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.

Любые советы приветствуются, спасибо!

Ответы [ 3 ]

0 голосов
/ 11 августа 2018

Возможно, переменная окружения в вашей ОС не установлена. Например, в Linux вам обычно нужно установить GOOGLE_APPLICATION_CREDENTIALS в терминале, где вы запустили свое приложение.

 export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

Другая опция, которую вы имеете, это передача пути json по коду. задокументировано этот процесс с использованием Node.js с облачным хранилищем.

0 голосов
/ 07 марта 2019

После прочтения чтения об этой проблеме в Интернете, единственный способ решить эту проблему для меня - объявить переменную среды de для выполнения узла:

GOOGLE_APPLICATION_CREDENTIALS="./key.json" node index.js

Поскольку я смог распечатать токен с консоли сервера, но когда я запускал приложение узла, библиотека не смогла получить значение системной среды, но, установив переменную для выполнения, она смогла получить значение .

0 голосов
/ 24 июня 2018

Переменная среды GOOGLE_APPLICATION_DEFAULT, которую вы устанавливаете, доступна из клиентских библиотек Google - она ​​не будет работать с относительным путем, вам нужно будет указать абсолютный путь.

...