2016-07-02 52 views
1

我試圖使用3.1.0版本中引入的新功能訪問實時數據庫:「Node.js SDK現在支持未經身份驗證的訪問,如果未提供服務帳戶,則實時數據庫訪問將會就像任何未經認證的客戶一樣受到限制。「Firebase Node.js SDK未經身份驗證的訪問

的SDK更新爲3.1.0:

[email protected]:~/dev/project/auth/firebase$ sudo npm install -g firebase 
[sudo] password for user: 
/usr/local/lib 
└─┬ [email protected] 

試過了,沒有服務帳戶:

var firebase = require('firebase'); 

console.log('Initialise Firebasse app'); 
firebase.initializeApp({ 
    // serviceAccount: "", 
    databaseURL: "https://some-valid-firebase.firebaseio.com" 
}); 

結果是:

[email protected]:~/dev/project/auth/firebase$ nodejs fb_anon.js 
Initialise Firebasse app 
/home/user/dev/project/node_modules/firebase/auth-node/auth.js:61 
    throw new Error('Invalid service account provided'); 
    ^

請幫幫忙,恐怕我在這裏丟失了一些明顯的東西:-(

+0

不應該在initializeApp中傳遞apiKey嗎? –

+0

@Devid Farinelli:不適用於服務器/節點SDK。請參閱此處:[初始化SDK](https://firebase.google.com/docs/server/setup#add_the_sdk) – blueCat

回答

2

正在發生的事情是,你的應用程序指的是一個古老的SDK版本是你的node_modules裏面。而這就是因爲你更新了全球標誌火力SDK和你指的是本地SDK。

你應該在本地安裝到您的應用程序。 首先確保你添加"firebase":"3.1.0"到您package.json文件,然後調用npm install同一目錄內。

我剛剛跟你添加的同一段代碼進行了測試並且一切如預期。

this question中,您可以在使用npm時找到一些其他信息和提示。