2016-11-11 55 views
2

最近幾天,我在android和服務器節點js的firebase'sdk中遇到了一些舊的firebase sdk問題。發送通知和檢索數據。 我更新了最新版本的android依賴項後,通知問題解決了。 但在服務器端:Firebase管理員sdk(node.js)數據庫請求凍結

問題的下面的示例:

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'子。

可能導致問題的原因是什麼?

回答

1

通過firebase團隊的幫助解決了問題。

啓用與數據庫定義之前記錄:

admin.database.enableLogging(true); 
var db = admin.database(); 

幫助進行調試。從那以後,我得到了錯誤:

無法獲得令牌:錯誤:錯誤獲取訪問令牌:invalid_grant(無效的智威湯遜:令牌必須是一個短暫的令牌,並在合理的時間內)

而根據本: Authentication on google: OAuth2 keeps returning 'invalid_grant' 我的機器時區沒有與ntp服務器正確同步,這在我的情況下是新管理員身份驗證所必需的。

然後(在Ubuntu 14.04)設置時區(時區所在的位置: '$ timedatectl列表時區'):

$ sudo的timedatectl設置時區desired_timezone

解決了這個問題!

感謝您的幫助。