使用 node.js 网络服务器写入 Firebase 数据库 - "FIREBASE WARNING: set at ... failed: permission_denied"
Writing to Firebase database with node.js web server - "FIREBASE WARNING: set at ... failed: permission_denied"
我有一个 node.js 网络服务器,我试图通过它写入 Firebase。但是,每当它运行时,我都会收到以下错误消息:
FIREBASE WARNING: set at /mydb failed: permission_denied
以下是我设置应用程序的方式(相关详细信息):
var firebase = require('firebase');
var config = {
apiKey: "8oc57xxx",
authDomain: "example-04.firebaseapp.com",
databaseURL: "https://example-ex04.firebaseio.com",
projectId: "example-ex04",
storageBucket: "example-ex04.appspot.com",
messagingSenderId: "5022"
};
firebase.initializeApp(config);
function writeData(details) {
firebase.database().ref('mydb/'). push({
title: details.title,
description: details.description,
tags: details.tags
}).then(function() {
console.log('Upload succeeded');
}).catch(function(error) {
console.log('Upload failed');
});;
}
调用函数:
//what details looks like:
//{ title: 'Details',
//description: 'Really fast, and awesome.',
//tags: 'tag-1'
//}
exports.postDetails = (req, res, next) => {
writeData(req.body);
const errors = req.validationErrors();
if (errors) {
req.flash('errors', errors);
return res.redirect('/example');
}
req.flash('success', { msg: 'Success!' });
res.redirect('/example');
};
我需要做什么才能让 Firebase 接受我的 post?我一直在阅读有关此的一些文档:
https://firebase.google.com/docs/reference/js/firebase.database.Reference#set
你的firebase sdk设置完成了吗?
您需要下载一个 JSON 文件,并将其放入您的节点服务器。
然后使用此代码初始化 firebase。
var admin = require("firebase-admin");
var serviceAccount = require("path/to/serviceAccountKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
apiKey: "8oc57xxx",
authDomain: "example-04.firebaseapp.com",
databaseURL: "https://example-ex04.firebaseio.com",
projectId: "example-ex04",
storageBucket: "example-ex04.appspot.com",
messagingSenderId: "5022"
});
function writeData(details) {
admin.database().ref('mydb/').push({
title: details.title,
description: details.description,
tags: details.tags
}).then(function() {
console.log('Upload succeeded');
}).catch(function(error) {
console.log('Upload failed');
});;
}
调用函数:
//what details looks like:
//{ title: 'Details',
//description: 'Really fast, and awesome.',
//tags: 'tag-1'
//}
exports.postDetails = (req, res, next) => {
writeData(req.body);
const errors = req.validationErrors();
if (errors) {
req.flash('errors', errors);
return res.redirect('/example');
}
req.flash('success', { msg: 'Success!' });
res.redirect('/example');
};
您可以在这个 google 网站上查看
我有一个 node.js 网络服务器,我试图通过它写入 Firebase。但是,每当它运行时,我都会收到以下错误消息:
FIREBASE WARNING: set at /mydb failed: permission_denied
以下是我设置应用程序的方式(相关详细信息):
var firebase = require('firebase');
var config = {
apiKey: "8oc57xxx",
authDomain: "example-04.firebaseapp.com",
databaseURL: "https://example-ex04.firebaseio.com",
projectId: "example-ex04",
storageBucket: "example-ex04.appspot.com",
messagingSenderId: "5022"
};
firebase.initializeApp(config);
function writeData(details) {
firebase.database().ref('mydb/'). push({
title: details.title,
description: details.description,
tags: details.tags
}).then(function() {
console.log('Upload succeeded');
}).catch(function(error) {
console.log('Upload failed');
});;
}
调用函数:
//what details looks like:
//{ title: 'Details',
//description: 'Really fast, and awesome.',
//tags: 'tag-1'
//}
exports.postDetails = (req, res, next) => {
writeData(req.body);
const errors = req.validationErrors();
if (errors) {
req.flash('errors', errors);
return res.redirect('/example');
}
req.flash('success', { msg: 'Success!' });
res.redirect('/example');
};
我需要做什么才能让 Firebase 接受我的 post?我一直在阅读有关此的一些文档:
https://firebase.google.com/docs/reference/js/firebase.database.Reference#set
你的firebase sdk设置完成了吗? 您需要下载一个 JSON 文件,并将其放入您的节点服务器。 然后使用此代码初始化 firebase。
var admin = require("firebase-admin");
var serviceAccount = require("path/to/serviceAccountKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
apiKey: "8oc57xxx",
authDomain: "example-04.firebaseapp.com",
databaseURL: "https://example-ex04.firebaseio.com",
projectId: "example-ex04",
storageBucket: "example-ex04.appspot.com",
messagingSenderId: "5022"
});
function writeData(details) {
admin.database().ref('mydb/').push({
title: details.title,
description: details.description,
tags: details.tags
}).then(function() {
console.log('Upload succeeded');
}).catch(function(error) {
console.log('Upload failed');
});;
}
调用函数:
//what details looks like:
//{ title: 'Details',
//description: 'Really fast, and awesome.',
//tags: 'tag-1'
//}
exports.postDetails = (req, res, next) => {
writeData(req.body);
const errors = req.validationErrors();
if (errors) {
req.flash('errors', errors);
return res.redirect('/example');
}
req.flash('success', { msg: 'Success!' });
res.redirect('/example');
};
您可以在这个 google 网站上查看