2017-04-22 151 views
0

我可以使用管理員從我的服務器寫入我的users表,但我無法檢索數據。無法從管理員檢索Firebase數據庫中的數據

當看我的控制檯時,運行以下代碼時看不到任何消息。

我期望看到與查找到的選擇器輸出關聯的電子郵件地址到控制檯。

// Get info from persistent login cookie 
var cookie = req.cookies.rememberme.split(':') 
var selector = cookie[0] 
var token = cookie[1] 

var db = firebaseAdmin.database() 
var userRef = db.ref('users') 
    .orderByChild('selector') 
    .equalTo(selector) 
    .once('value', function(dataSnapshot) { 
    console.log("Email: " + dataSnapshot.val().email) 
    }) 

我可以證實,cookie存在,當腳本正在運行的selector變量被設置。

users表中的條目被安排如下:

key: { 
    selector, 
    token, 
    email 
} 

回答

0

你一定要設置在火力控制檯上的數據庫視圖規則選項卡中的讀/寫權限?

+0

是,兩者都設置爲false。如前所述,我可以寫但不能閱讀。 – charliesneath

+0

嘗試將讀取更改爲true並暫時再次測試。 –

+0

不幸的是,這沒有什麼區別。我現在也在檢查錯誤,但仍然沒有輸出在控制檯中。 – charliesneath

0

問題在於服務帳戶的憑據。

我原本選擇了「其他>火力地堡規則系統」(因爲沒有其他選項提(火力地堡),但它應該是從「項目」部分的東西。

我創建了一個新的服務帳戶「項目>所有者」的權限,上傳新的證書,並如預期,我可以從數據庫中檢索

點擊此處瞭解詳情:https://firebase.google.com/docs/database/admin/start

enter image description here

相關問題