【问题标题】:firebase DB and expressfirebase 数据库和快递
【发布时间】:2020-10-22 17:58:56
【问题描述】:

我正在尝试以与 data.json 文件类似的方式连接我的 firebase 数据以进行表达 - 我这样做是否正确?

我收到“警告,FIREBASE_CONFIG 和 GCLOUD_PROJECT 环境变量丢失。初始化 firebase-admin 将失败”错误,我不太确定如何修复 - 我还发现一篇文章似乎可以访问 Firebase全部在前端,所以也许我不需要使用 express?

const express = require('express');
const app = express();
const port = process.env.PORT || process.argv[2] || 8080
const bodyParser = require('body-parser');
// const data = require('./data.json');
const cors = require('cors');
const firebase = require('firebase-functions');
const admin = require('firebase-admin');
const config = require('./config');
const db = firebase.initializeApp(config);
const serviceAccount = require('./serviceAccount.json');

require('dotenv').config();

app.use(cors());
app.use(bodyparser.urlencoded({extended: true}));
app.options('*', cors());
app.use(bodyParser.json());

admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    databaseURL: 'https://wheresthespot-f83b8.firebaseio.com'
});

app.get('/locations', (req, res) => {
    res.send(db)
})

app.get('/location/:name', (req, res) => {
    res.send(b)
})

app.post('location', (req, res) => {
    const { id, location, description, morningLight, eveningLight, address, city, region, longitude, latitude, categories, permit } = req.body
    const newLocation = {
        id,
        location, 
        description,
        morningLight,
        eveningLight,
        address,
        city,
        region,
        longitude,
        latitude,
        categories,
        permit
    }
    res.json([
        db.locations,
        newLocation
    ])
    db.locations.push(newLocations);
})

app.listen(port, () => console.log(`We're live on port, ${port}`))
module.exports.db = db.database();```

【问题讨论】:

    标签: node.js firebase express firebase-admin


    【解决方案1】:

    为了有效地使用 Firebase Admin SDK,您应该从 instructions 开始。特别是,您需要弄清楚您希望如何initialize the SDK。如果您正在运行自己的节点服务器,则需要为您的 Firebase 项目提供凭据,如该文档中所示。

    我们无法确切地看到您现在在做什么,因为我们不知道 './config' 中的内容。该文档建议将环境变量“GOOGLE_APPLICATION_CREDENTIALS”设置为指向带有您的服务帐户凭据的文件。您将无法将配置用于 Web 或移动应用程序 - 您必须使用服务帐户。

    【讨论】:

      猜你喜欢
      • 2021-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多