我已经使用firebase几年了,我没有碰到这个 - 我相信这是Google帐户/ Firebase帐户相关的。
这个基本代码不会进入ref.on()或ref.once()函数 - 成功或错误回调。这笔交易是什么?
var firebase = require('firebase');
var admin = require('firebase-admin');
const serviceAccount = require('../firebase-security.json');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: 'https://swc-shockball3.firebaseio.com/'
});
var db = admin.database();
console.log('trying to get ref .once')
var itemsRef = db.ref('items');
itemsRef.once('value', function(snapshot) {
// never gets here
console.log(snapshot)
}, function(error) {
// doesn't get here either
console.log('error is')
console.log(error)
})
我发现如果我在console.log中,itemsRef本身会返回一个较大的firebase-y对象。我也可以记录itemsRef.once.toString(),它会记录函数签名,但是调用它实际上不能正常工作。
我确保我对数据库的权限是读/写为真(布尔值)。我确保我的serviceAccount的json是正确的 - 我甚至彻底清除了我的firebase项目并创建了一个新项目。
是什么给出了?
答案 0 :(得分:0)
我打开了admin.database.enableLogging(true),然后可能会看到错误消息是Googal OAuth令牌无效授予错误。我创建了一个新的服务帐户,没有变化。
但后来我只是将我的本地机器(Windows 10)时间设置更改为自动时间/自动日期。修好了!