#node.js #heroku #dialogflow-es
# #node.js #heroku #dialogflow-es
Вопрос:
Я изучаю руководство по созданию чат-бота с использованием Google dialogflow и nodejs. Теперь я разворачиваю его в Heroku. Я не хочу добавлять учетные данные напрямую. Вместо этого я хочу добавить их с помощью конфигурационных переменных. Поэтому я создал отдельный файл для сохранения учетных данных, подобных этому.
module.exports = {
googleProjectID: process.env.GOOGLE_PROJECT_ID,
dialogFlowSessionID: process.env.DIALOGFLOW_SESSION_ID,
dialogFlowSessionLanguageCode: process.env.DIALOGFLOW_LANGUAGE_CODE,
googleClientEmail : process.env.GOOGLE_CLIENT_EMAIL,
googlePrivateKey : process.env.GOOGLE_PRIVATE_KEY
};
Затем я устанавливаю конфигурационные переменные через настройки heroku. Вот так…
И я обещаю вам, что я добавил значения к этим ключам на 100% правильно. Но мое приложение выдает мне ошибки. Если просмотр «журналов heroku —tail» облегчает вам ответы, пожалуйста, используйте эту ссылку, чтобы просмотреть журнал heroku.
Но когда я использую приведенный ниже код вместо приведенного выше кода
module.exports = {
googleProjectID : "<real value>",
dialogFlowSessionID : "<real value>",
dialogFlowSessionLanguageCode : "<real value>",
googleClientEmail : "<real value>",
googlePrivateKey : "<real value>"
}
Я добавил значения напрямую, вместо использования ‘config var’. Тогда это работает без каких-либо проблем. Но я хочу сделать это с помощью конфигурационных переменных. Пожалуйста, помогите мне…….
Комментарии:
1. Я знаю, что я не добавил дополнительные коды. Но я понял, что проблема связана только с этим кодом. Поэтому я хочу знать, что с этим не так…
2. Быстрый вопрос, действителен ли ключ Google и правильно ли вы используете свой код
process.env.<Name>
без каких-либо опечаток? Я спрашиваю, потому что вы, похоже, правильно настроили свои ключи3. @NtshemboHlongwane=> Извините, что спрашиваю. Но, пожалуйста, скажите мне, что вы подразумеваете под «ключом Google»? Что касается второго вопроса, я не использую process.env.<name> нигде в своем коде, кроме process.env.port . Я использую эти имена объектов вместо использования process.env.<имя>
4. Разве у вас не возникли проблемы с тем, что ключ Google здесь не работает? Итак, я спрашиваю, не истек ли срок его действия? Во-вторых, когда у вас есть вы
env vars
в своих конфигурациях heroku, почему бы вам не отказаться от способа обработки вещей и доступа к ним напрямую с помощьюprocess.env.<Name of var>
5. ОК. Когда я использую эти значения учетных данных напрямую, это не дает мне никаких ошибок. Поэтому я думаю, что срок действия ничего не истек. Во-вторых, я попытался
env vars
получить прямой доступ, как вы сказали. Но, к сожалению, это ничего не исправило или ничего не изменило.