【问题标题】:Accessing Firebase admin from google cloud functions从谷歌云功能访问 Firebase 管理员
【发布时间】:2019-09-20 21:17:48
【问题描述】:

我正在尝试从 GOOGLE 云功能访问和更新我的 firebase 数据库,但它无法正常工作。

我已经编写了一个云函数,我在其中初始化了 firebase-admin。

我必须提供 service_account 来初始化管理员。

我是initializing我的firebase应用程序

admin.initializeApp({
   credential: admin.credential.cert(service_account),
  databaseURL: "",
  databaseAuthVariableOverride: {
    uid: ""
  }
});

我在 GOOGLE 云功能中没有我的服务帐户路径。

有什么方法可以从 GOOGLE 云功能访问 firebase?

谢谢

【问题讨论】:

    标签: firebase firebase-realtime-database firebase-authentication google-cloud-functions


    【解决方案1】:

    在 Google Cloud Functions 中,可以自动查找所需的配置数据,因此您不必为 Firebase Admin SDK 提供配置数据。

    在大多数情况下只需要:

    const admin = require('firebase-admin');
    
    admin.initializeApp();
    

    另请参阅文档部分 Import the required modules and initialize an app

    【讨论】:

    • 但是如何在 initializeApp() 中传递databaseAuthVariableOverride: { uid: "" }?如果我像这样通过它会给我错误,因为没有初始化 databaseURL 值。
    • 从文档和Doug's answer here 看来,您应该可以使用process.env.FIREBASE_CONFIG 进行初始化。