functions.config()。firebase.apiKey未定义

时间:2018-03-15 10:11:21

标签: firebase google-cloud-functions

我有一个使用google translate api翻译文本的云功能。它利用了这段代码:

const functions = require('firebase-functions');

function createTranslateUrl(lang, text) {
  return `https://www.googleapis.com/language/translate/v2?key=${functions.config().firebase.apiKey}&source=en&target=${lang}&q=${text}`;
}

问题出在functions.config().firebase.apiKey部分。有一段时间它工作正常,但突然它开始返回undefined

以下是配置现在的样子:

  config { firebase: 
   { projectId: 'projectname',
     databaseURL: 'https://projectname.firebaseio.com',
     storageBucket: 'projectname.appspot.com',
     credential: ApplicationDefaultCredential { credential_: MetadataServiceCredential {} } } }

我硬编码apiKey从firebase控制台复制它,它现在可以正常工作。

我的问题是使用硬编码的api密钥是否安全?什么可能导致functions.config().firebase.apiKey返回undefined?

2 个答案:

答案 0 :(得分:0)

运气好吗?我在functions.config().firebase.apiKey返回undefined时遇到完全相同的问题。

这是在我昨天部署之后开始发生的。我确实检查了firebase release notes,但没有任何与配置相关的内容。

更新:事实证明我们使用旧版firebase-functions。升级到最新版本(0.9.1)修复了问题。

答案 1 :(得分:0)

firebase.apiKey已从functions.config()

中删除

请参阅github https://github.com/firebase/firebase-functions/issues/196

上的此问题