刚刚尝试了这个:
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 项目,它确实需要从控制台复制/粘贴吗?
有一个内部错误会阻止以字符串"firebase"开头的配置参数名称正常工作,就像您在第二个示例中不起作用一样。(FirebaseAPI.web仍然以"Firebase"开头(。 从任何其他 8 个字符开始,您应该没问题。
更重要的是,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"
}