我收到此错误是因为最初我喜欢以下内容:
var admin = require("firebase-admin");
admin.initializeApp(); // I didnt add anything because firebaserc file include appName
它在我部署函数时起作用,但在serve
. 所以这就是我解决它的方法:
- 转到 firebase项目设置(单击侧面导航中的设置图标)。
- 单击服务帐户。
- 从选择专业版中复制admin sdk 配置片段。朗。
前(node.js):
var admin = require("firebase-admin");
var serviceAccount = require("path/to/serviceAccountKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://your-domain.firebaseio.com"
});
- 现在我们需要添加
serviceAccountKey.json
文件。
- 单击右上角的管理服务帐户权限。
- 现在,您将看到您的项目的服务帐户,在表中找到具有列名name和 value firebase-adminsdk 的行,在该行中单击Action dots 并选择Create key。
- 从弹出对话框中选择密钥类型为json并按创建按钮。
- 您将提示下载文件,将其下载到项目中的函数目录(您可以根据需要自定义它,如果您推送到 github,请确保忽略该文件)。
- 现在,如果您将它保存到您所在的同一目录中
initializeApp()
,请访问该文件,例如:(./socialape-15456-68dfdc857c55.json
在我的情况下,两个文件都位于:functions/index.js
并且functions/services.son
在functions
目录和index.js
文件中,我初始化了我的firebase admin
sdk)。
例如(节点.js):
const functions = require('firebase-functions');
var admin = require("firebase-admin");
var serviceAccount = require("./myapp-15456-68dfdc857c55.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://myapp-15456.firebaseio.com"
});
创建.env
文件并将您的文件包含在其中并像其他人提到的那样访问它是一个最好的主意。我把那部分留给你。
希望这能帮助地球上的某个人。问候!