使用新的Firebase的Nodejs应用程序不会检索数据库项目

我是新的nodejs,但已经在Firebase版本3.0.2中有一个工作的js客户端程序。 事实certificate,我需要一个服务器来做一些简单的事情,在js客户端中是不可能的。

当我在nodejs中尝试这个基本的东西时,什么都不会发生 – 数据库中的数据永远不会被检索到,并且节点服务器程序继续运行而没有错误。 服务器程序(server.js)如下所示:

var firebase = require("firebase"); var myApp =firebase.initializeApp({ serviceAccount: "xxx/xxx.json", databaseURL: "https://xxx.firebaseio.com" }); firebase.database().ref().on('value', function(snapshot) { console.log("urls value changed"); // NEVER GETS HERE console.log(snapshot.val()); }); 

数据库加载数据,这是试图查看根。 当我通过控制台添加项目到数据库,仍然没有任何反应。 更具体的ref()值不起作用。

我正在使用节点版本v4.4.4。 程序在命令行(在MBP / OSX上)用“node server.js”调用。

我花了几个小时试图弄清楚我做错了什么 – 可能是愚蠢的! 提前感谢您的帮助。

固定!

  1. 增加了debugging,这是必不可less的:

    firebase.database.enableLogging(true)

  2. 看到有一个无效的令牌,并不断断开/重新连接,再试一次。 日志中的行如下所示:

    p:0:来自服务器:{“r”:2,“b”:{“s”:“invalid_token”,“d”:“拒绝访问”}}

    (注意:没有日志logging,这是完全沉默!)。

  3. 事实certificate,服务帐户是不正确的! 你必须先确定服务条款! 要做到这一点:请访问https://console.cloud.google.com/

  4. 重新创build一个新的服务帐户,并将其挂钩 – 最后,它的工作原理!