Не удалось загрузить учетные данные по умолчанию? (Узел.JS Google вычислительный движок учебник)
ситуация:
Я следую этому руководству:https://cloud.google.com/nodejs/tutorials/bookshelf-on-compute-engine
все работает нормально, пока я не npm start
на:
меня встречает следующий текст на пустой странице:
Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
что не имеет смысла, так как я использую OAuth. Я прошел по ссылке и прочитал страницу, но у меня нет GOOGLE-APPLICATION-CREDENTIALS
поле в любом месте, и ничего об этом в учебнике.
вопрос:
не могли бы вы воспроизвести шаги и скажите мне, если вы получите тот же результат ?
(занимает 5 минут)
Если нет, то что я мог сделать неправильно ?
3 ответов
Да, у меня была такая же ошибка. Это раздражает, потому что документы Google Cloud Platform для их" начала работы " учебник книжной полки не упоминает об этом нигде. Это означает, что любой новый разработчик, который попробует этот учебник, увидит эту ошибку. Какой ужасный первый опыт. Не уверен, что GCP заботится, я близок к переключению на AWS... Я скучаю по их обслуживанию клиентов и технической поддержке..
в любом случае...
читать этот: https://developers.google.com/identity/protocols/application-default-credentials
я исправил эту проблему, запустив:
gcloud auth application-default login
это сделает вас войти, и после этого вы код локально будет использовать эту аутентификацию.
Если вы запускаете приложение локально, то gcloud beta auth application-default login
команды должно хватить для получения локальных учетных данных (я обновил учебник так сказать).
при запуске приложения в Google Compute Engine, если экземпляр Compute Engine был создан с соответствующими областями (cloud-platform
должно быть достаточно), то приложение будет аутентифицироваться с Google Cloud Platform APIs автоматически без дополнительной работы с вашей стороны.
есть 2 решения для этой проблемы. Один из вариантов, как упоминалось другими, - использовать gcloud auth application-default login
второй вариант-установить переменную среды GOOGLE_APPLICATION_CREDENTIALS
. Он должен указывать на файл, который определяет учетные данные. Чтобы получить этот файл, вам необходимо выполнить следующие действия:
перейдите на страницу учетные данные консоли API.
в раскрывающемся списке проект выберите проект.
на странице учетные данные выберите Создать раскрывающийся список учетные данные, затем выберите ключ учетной записи службы.
в раскрывающемся списке учетная запись службы выберите существующую учетную запись службы или создать новый.
для типа ключа выберите параметр ключ JSON, затем выберите Создать. Папка автоматически загружается на компьютер.
поставить *.JSON-файл, который вы скачали в папку выбирающий.
этот каталог должен быть приватным (вы не можете позволить никому получить доступ к это), но доступный для вашего кода веб-сервера.
задайте переменной среды GOOGLE_APPLICATION_CREDENTIALS значение путь загруженного файла JSON.
см.https://developers.google.com/identity/protocols/application-default-credentials для деталей