我是 Nodejs 新手,但已经有一个工作的 js 客户端程序,Firebase 版本 3.0.2。事实证明,我需要一个服务器来完成一些在 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。该程序通过“node server.js”在命令行(在 MBP/OSX 上)调用。
我花了几个小时试图弄清楚我做错了什么 - 可能是一些愚蠢的事情!提前感谢您的帮助。
Fixed!
-
添加了调试,这是必不可少的:
firebase.database.enableLogging(true)
-
发现存在无效令牌,并且不断断开/重新连接以重试。日志中的行如下:
p:0:来自服务器:{“r”:2,“b”:{“s”:“invalid_token”,“d”:“访问被拒绝。”}}
(注意:如果没有日志记录,这完全是无声的!)。
原来服务帐户没有正确创建!您必须先确定服务条款!要执行此操作:请转至https://console.cloud.google.com/ https://console.cloud.google.com/
重新创建了一个新的服务帐户并将其连接起来 - 最后,它起作用了!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)