当我尝试运行下面的代码无法连接到火力地堡实时数据库服务器的NodeJS
,下面的错误在控制台中显示出来失败:PERMISSION_DENIED (节点:12540)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):错误:PERMISSION_DENIED:权限被拒绝当我尝试运行下面的代码无法连接到火力地堡实时数据库服务器的NodeJS
var firebase = require("firebase");
var config = {
apiKey: "AIzaSyCJyakN_kwOnZ2f4-P0tzGdODEJeDsXt3w",
authDomain: "seo-hero-fe0e8.firebaseapp.com",
databaseURL: "https://seo-hero-fe0e8.firebaseio.com",
projectId: "seo-hero-fe0e8",
storageBucket: "seo-hero-fe0e8.appspot.com",
messagingSenderId: "333356421370"
};
firebase.initializeApp(config);
var database = firebase.database();
var sitesToVisitRef = firebase.database().ref("sitesToVisit");
var newSiteToVisitRef = sitesToVisitRef.push();
newSiteToVisitRef.set({
url: 'url',
baseUrl: 'urlBase'
});
var firebase = require("firebase");
var config = {
apiKey: "apiKey",
authDomain: "authDomain",
databaseURL: "databaseURL",
projectId: "projectId",
storageBucket: "storageBucket",
messagingSenderId: "messagingSenderId"
};
firebase.initializeApp(config);
var database = firebase.database();
var sitesToVisitRef = firebase.database().ref("sitesToVisit");
var newSiteToVisitRef = sitesToVisitRef.push();
newSiteToVisitRef.set({
url: 'url',
baseUrl: 'urlBase'
});
更新:我想在一个新的文件夹创建一个新文件,即WASN” t在公共NPM包中。这工作时,我做了一个简单的:
firebase.database().ref('usersecond').set({
username: "ben",
email: "hi",
profile_picture : "imageUrl"
});
初始化数据库后。但是,当我添加其余的代码时,该集合不影响数据库;它没有抛出错误,但数据没有显示在数据库中。这可能是因为我正在使用NPM请求模块?
看起来你没有权限写/sitesToVisit/-Kr6oOddLtLUcpUpha7m
。
如果此代码在可信环境(例如你控制设备/服务器,或云功能)运行,我会考虑使用火力地堡管理SDK:https://firebase.google.com/docs/admin/setup。这将使代码以管理特权运行,绕过安全规则。
这个数据也没有显示出来。过去我使用过Firebase数据库,它们都是Github Pages和一个NodeJS服务器(我现在正在使用它),但由于某种原因,它现在无法正常工作。 –
管理员无法为我工作。我对该问题的编辑是否提供了更多信息?例如,是否可能是因为我正在使用NPM请求模块,并且可能以某种方式干扰它?非常感谢! –
对不起,但是这里有太多的代码,对实际错误的细节太少。堆栈溢出不是一个好的交互式调试器。为了获得最佳帮助,请单独重现您的问题并共享所谓的[MCVE](http://stackoverflow.com/help/mcve)。 –
@FrankvanPuffelen好点。这是否更好?谢谢! –
看起来你没有写'/ sitesToVisit/-Kr6oOddLtLUcpUpha7m'的权限。如果此代码运行在受信任的环境中(例如您控制的设备/服务器或云功能),我会考虑使用Firebase Admin SDK:https://firebase.google.com/docs/admin/setup。这将以管理权限运行。 –