使用heroku和GOOGLE_APPLICATION_CREDENTIALS找不到配置文件

时间:2018-10-02 10:54:50

标签: heroku cloud

我已经创建了一个部署在heroku上的spring boot应用程序。 一切正常。.现在,我正在尝试使用Google云中的Text to Speech API。这在本地可以正常使用,但是当我想在heroku上使用它时,会收到警告。

  

从环境变量读取凭证文件时出错   GOOGLE_APPLICATION_CREDENTIALS,值'config / keyFile.json':文件确实   不存在。

我在heroku中设置了以下内容:

 heroku config:set GOOGLE_APPLICATION_CREDENTIALS=‘config/keyFile.json’

无论我把文件放在哪里。我都无法正常工作。 谁可以提供帮助?

1 个答案:

答案 0 :(得分:0)

我通过设置带有GOOGLE_APPLICATION_CREDENTIALS json文件内容的heroku配置变量(例如GOOGLE_APPLICATION_CREDENTIALS)并调用需要实例化客户端的process.env.GOOGLE_APPLICATION_CREDENTIALS来使它工作。

无论如何,将密钥文件保存到远程服务器(例如heroku)不是最佳实践,并且使用环境变量来调用密钥更安全。

// Where you need to instantiate the google project client,
var keyValue = JSON.parse(process.env.GOOGLE_APPLICATION_CREDENTIALS);
// set the 'credentials' parameter with keyValue