我正在尝试使用3.1.0版本中引入的新功能访问实时数据库:“Node.js SDK现在支持未经身份验证的访问。如果未提供服务帐户,则实时数据库访问将受到限制,就像任何未经身份验证的客户端一样会的。“
SDK更新为3.1.0:
user@ha:~/dev/project/auth/firebase$ sudo npm install -g firebase
[sudo] password for user:
/usr/local/lib
└─┬ firebase@3.1.0
尝试没有服务帐号:
var firebase = require('firebase');
console.log('Initialise Firebasse app');
firebase.initializeApp({
// serviceAccount: "",
databaseURL: "https://some-valid-firebase.firebaseio.com"
});
结果是:
user@ha:~/dev/project/auth/firebase$ nodejs fb_anon.js
Initialise Firebasse app
/home/user/dev/project/node_modules/firebase/auth-node/auth.js:61
throw new Error('Invalid service account provided');
^
请帮助,可能我在这里遗漏了一些明显的东西。 : - (
答案 0 :(得分:2)
正在发生的事情是您的应用程序指的是node_modules
内的旧sdk版本。这就是因为您使用全局标志更新了firebase sdk,而您指的是本地sdk。
您应该将其本地安装到您的应用程序中。
首先确保您已将"firebase":"3.1.0"
添加到package.json
文件中,然后在同一个目录中调用npm install
。
我刚刚使用您添加的相同代码对其进行了测试,一切都按预期进行。
在this question中,您可以在使用npm时找到一些其他信息和提示。