我有一个问题:在heroku上设置环境时无法加载默认凭据

时间:2019-03-29 11:33:19

标签: node.js heroku dialogflow

我让聊天机器人使用Dialogflow,Nodejs并部署在Heroku上,当配置环境出现此问题时。 (节点:23)UnhandledPromiseRejectionWarning:错误:无法加载默认凭据。浏览至https://cloud.google.com/docs/authentication/getting-started了解更多信息。

我已按照https://cloud.google.com/docs/authentication/getting-started的所有步骤操作,并定义了Google Cloud的服务帐户,但是它不起作用。我也搜索了相同的问题帖子,但仍然出错。

这是我的代码读取的环境变量:

const {Storage} = require('@google-cloud/storage'); 
const storage = new Storage({ 
     projectId: 'my-project-id',
     credentials: {
          private_key: process.env.GOOGLE_PRIVATE_KEY.replace(/\\n/g, '\n'),
          client_email: process.env.GOOGLE_CLIENT_EMAIL
     }
});
// Makes an authenticated API request.
storage
  .getBuckets()
  .then((results) => {
    const buckets = results[0];

    console.log('Buckets:');
    buckets.forEach((bucket) => {
      console.log(bucket.name);
    });
  })
  .catch((err) => {
    console.error('ERROR:', err);
  }); 

我在Heroku上的配置变量:

GOOGLE_CLIENT_EMAIL = 'my-gg-client-email'
GOOGLE_PRIVATE_KEY = 'my-gg-private-key'
GCS_KEYFILE = my-info-service-account.json

该如何解决?

0 个答案:

没有答案