gpt4 book ai didi

node.js - Admin SDK 不再从 firebase 捕获事件

转载 作者:搜寻专家 更新时间:2023-11-01 00:29:48 24 4
gpt4 key购买 nike

我已经在我的 Node 服务器上安装并运行了 firebase admin,直到今天它一直运行良好,没有任何错误告诉我发生了什么,它只是停止工作。

var admin = require("firebase-admin");

var serviceAccount = require("mycom-firebase-adminsdk-d1ebt123456.json");

var app = FireBaseAdapter.admin.initializeApp({
credential: FireBaseAdapter.admin.credential.cert(serviceAccount),
databaseURL: "https://xxxx.firebaseio.com"
});

var db = app.database();
var ref = db.ref("messages"); // this node actually exists in my db.


ref.on("value", function(snapshot) {
// this will never be called - which has been working before.

console.log(snapshot.val());
}, function (errorObject) {
console.log("The read failed: " + errorObject.code);
});

我什至将它包装在 try catch 中以打印出错误,但没有任何错误。我可以在帐户中登录 firebase 控制台并看到我的数据库没有任何变化(小数据库)(虽然它似乎比正常情况下慢)。firebase Admin SDK 有问题吗?感谢您的帮助。

最佳答案

在花了很多时间查找原因后,我找到了问题所在。由于我找不到任何方法来启用 firebase-admin 的日志,所以在一切都静默运行的情况下解决问题是死路一条,所以我转而使用 firebase 包来进行日志记录

var firebase = require("firebase");
firebase.initializeApp({
databaseURL: "https://xxxxx.firebaseio.com",
serviceAccount: '....'
});

firebase.database.enableLogging(true); // <=== important

我的问题与 this question 非常相似

然后我可以看到实际的错误:

p:0: Failed to get token: Error: Error refreshing access token: invalid_grant (Invalid JWT: Token must be a short-lived token and in a reasonable timeframe)

此问题的解决方案已在 this anwser 上进行了说明.这个问题是由于执行代码的计算机时钟同步不良导致的,延迟了 5 分钟(由于内部时钟的电池故障)。当我手动将我的计算机的内部时间更改为正确的时间(或者我完全重置我的计算机日期时间)时,它又开始工作了。

在我的例子中,重置日期时间和时区后,firebase 会自动再次运行,我不需要重新生成另一个服务帐户。

关于node.js - Admin SDK 不再从 firebase 捕获事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41084057/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com