无法连接到Firebase实时数据库NodeJS服务器

时间:2017-08-09 04:07:03

标签: javascript node.js firebase firebase-realtime-database web-crawler

当我尝试运行以下代码时,控制台中会显示以下错误:

节点mcve.js FIREBASE警告:设置为/ sitesToVisit / -Kr6oOddLtLUcpUpha7m失败:permission_denied (node:12540)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):错误:PERMISSION_DENIED:权限被拒绝

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'
    });

更新:我尝试在新文件夹中创建一个新文件,该文件不在公共NPM包中。当我做一个简单的事情时,这很有效:

firebase.database().ref('usersecond').set({
    username: "ben",
    email: "hi",
    profile_picture : "imageUrl"
  });

初始化数据库后。但是,当我添加其余的代码时,这个集合不会影响数据库;它没有抛出错误,但数据没有出现在数据库中。这可能是因为我正在使用NPM请求模块吗?

1 个答案:

答案 0 :(得分:0)

您似乎无权撰写/sitesToVisit/-Kr6oOddLtLUcpUpha7m

如果此代码在可信环境(例如您控制的设备/服务器或云功能)上运行,请考虑使用Firebase管理SDK:https://firebase.google.com/docs/admin/setup 。这将使代码以管理权限运行,绕过安全规则。

相关问题