最近几天,我在Android和服务器节点js&fire;' firebase'中遇到了我的旧firebase sdk的一些问题。 SDK。发送通知和检索数据。 在我用最新版本更新了android依赖项之后,通知问题就解决了。 但在服务器端:
以下示例出现问题:
var admin = require("firebase-admin");
var serviceAccount = require("filepath.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://dbname.firebaseio.com"
});
var db = admin.database();
var ref = db.ref("myval");
ref.once("value",function(snapshot){
console.log(snapshot.val());
});
示例不返回任何值或错误,只是等待。当然有“myval'主数据库树下的子项。
可能导致问题的原因是什么?
答案 0 :(得分:1)
在firebase团队的帮助下解决了这个问题。
使用以下命令在数据库定义之前启用日志记录:
admin.database.enableLogging(true);
var db = admin.database();
有助于调试。之后我收到了错误:
无法获取令牌:错误:获取访问令牌时出错:invalid_grant(无效的JWT:令牌必须是一个短期令牌并且在合理的时间范围内)
根据这个: Authentication on google: OAuth2 keeps returning 'invalid_grant' 我的机器时区没有与ntp服务器正确同步,这在我的情况下是新的管理员身份验证所必需的。
然后(在ubuntu 14.04中)设置时区(时区在这里:' $ timedatectl list-timezones'):
$ sudo timedatectl set-timezone desired_timezone
解决了这个问题!
感谢您的帮助。