【问题标题】:how to initializeApp in firebase with admin privilege如何在具有管理员权限的 Firebase 中初始化应用程序
【发布时间】:2020-08-17 19:18:30
【问题描述】:

当我尝试使用 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: "...",
});

然后是我所有的路线......

【问题讨论】:

  • 你能检查this是否有效吗?

标签: javascript node.js firebase express google-cloud-functions


【解决方案1】:

您应该调用initializeApp() Admin 对象上的任何其他方法。像这样改变语句的顺序:

admin.initializeApp({
  credential: admin.credential.cert(servicesAccount),
  databaseURL: "...",
});

const database = admin.firestore();

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

【讨论】:

    【解决方案2】:

    通常,如果您想从 Cloud Function 与 Firebase 后端服务(Firestore、实时数据库、云存储等)进行交互,您只需初始化 Admin SDKwith no parameters

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

    还请查看 Cloud Functions 文档的以下部分:new initialization syntax for firebase-admin


    另一方面,您执行以下操作

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

    当您想在网络应用中使用 Firebase JavaScript SDK 或作为最终用户访问的客户端时,例如在 Node.js 桌面或物联网应用中。


    因此,总而言之,您应该执行以下操作:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-31
      • 2015-05-07
      • 1970-01-01
      • 1970-01-01
      • 2015-05-09
      相关资源
      最近更新 更多