只需尝试一下:
firebase functions:config:set firebase.webapikey="XXXXX"
Error: Cannot set to reserved namespace firebase
错误已清除。所以我尝试了这个:
firebase functions:config:set firebaseapis.web="XXXX"
✔ Functions config updated.
Please deploy your functions for the change to take effect by running firebase deploy --only functions
很好,没有错误。但是:
carlos@carlos-linux-dev:~/firestore_experiments$ firebase functions:config:get |grep firebase
carlos@carlos-linux-dev:~/firestore_experiments$
因此该密钥实际上并未存储。但是,如果将其更改为其他内容:
dev:~/firestore_experiments$firebase functions:config:set pithole.web="XXXX"
✔ Functions config updated.
Please deploy your functions for the change to take effect by running firebase deploy --only functions
carlos@carlos-linux-dev:~/firestore_experiments$ firebase functions:config:get |grep pithole
"pithole": {
我在文档中找不到与此相关的任何参考,似乎是一个错误……这实际上是预期的行为吗?
更重要的是,Web API是否可以自动用于Firebase项目?是否确实需要从控制台复制/粘贴某些内容?
答案 0 :(得分:1)
有一个内部错误,阻止以字符串“ firebase”开头的配置参数名称正常工作,就像您在第二个示例中遇到的那样。 (firebaseapi.web仍以“ firebase”开头)。以任何其他8个字符开头,应该没问题。
答案 1 :(得分:0)
更重要的是,Web API是否可以自动用于Firebase项目,还是确实需要从控制台复制/粘贴的东西?
我一直在寻找实现这一目标的方法,但到目前为止还没有成功。
process.env.FIREBASE_CONFIG
处有一个可供云函数使用的环境变量,但这不包含API密钥,仅包含以下属性:
{
"projectId":"[project-name]",
"databaseURL":"https://[project-name].firebaseio.com",
"storageBucket":"[project-name].appspot.com",
"locationId":"europe-west"
}