如何使用管理员权限初始化firebase中的应用程序



当我试图用firebase初始化应用程序时,我遇到了这个错误:"默认的Firebase应用程序不存在。请确保在使用任何Firebase服务之前调用initializeApp((。">

这是我的脚本:

const functions = require("firebase-functions");
const admin = require("firebase-admin");
const servicesAccount = require("./admin.json");
const express = require("express");
const app = express();
const firebase = require("firebase");
const firebaseConfig = {...};
const database = admin.firestore();
firebase.initializeApp(firebaseConfig);
admin.initializeApp({
credential: admin.credential.cert(servicesAccount),
databaseURL: "...",
});

然后我所有的路线。。。

您应该在Admin对象上的任何其他方法之前调用initializeApp()。更改语句的顺序如下:

admin.initializeApp({
credential: admin.credential.cert(servicesAccount),
databaseURL: "...",
});
const database = admin.firestore();

注意,admin.firestore()initializeApp()之后。

通常,如果你想从云功能与Firebase后端服务(Firestore、实时数据库、云存储等(交互,你只需要初始化不带参数的Admin SDK即可

在这种情况下,SDK使用Google应用程序默认凭据和从FIREBASE_CONFIG环境变量中读取选项。。。这个FIREBASE_CONFIG环境变量自动包含在通过Firebase CLI

还可以查看Cloud Functions文档的以下部分:firebase-admin的新初始化语法。


另一方面,您可以执行以下

const firebaseConfig = {...};
firebase.initializeApp(firebaseConfig);

当您想在web应用程序中使用Firebase JavaScript SDK时,或者作为最终用户访问的客户端,例如在Node.js桌面或IoT应用程序中。


所以,总之,你应该做一些类似的事情:

const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp();
const express = require("express");
const app = express();
const database = admin.firestore();
//....

相关内容

  • 没有找到相关文章

最新更新