2017-10-05 117 views
1

我目前正在使用Firebase雲端功能與Api.ai和Google assistant SDK配合使用。Firebase雲端功能:讀取數據庫

我迄今所做的就是這個簡單的迴應:

function setMachine (app) { 
    let mach_id = app.getArgument(MACHINE_ARGUMENT); 
    app.tell('Machine ID is'+mach_id); 

大這是工作!助理用正確的參數回答我!

現在我想回復來自我的數據庫的數據。

我有嘗試2種不同的路徑:

1)使用數據庫的REST API:

let url = 'https://myprojectID.firebaseio.com/machine/'+mach_id+'/value.json' 
var xmlHttp = new XMLHttpRequest(); 
    xmlHttp.open("GET", url, false); // false for synchronous request 
    xmlHttp.send(null); 
    app.tell('Result: '+xmlHttp.responseText); 

結果: 我得到一個錯誤500處,新的XMLHttpRequest

2)嘗試使用:

const admin = require('firebase-admin'); 
admin.database().ref('machine/'+mach_id+'/value').once('value', (snapshot) => { 
     var event = snapshot.val(); 
     app.tell('Result: '+event); 
    }); 

但是,這也給出了一個錯誤500

+0

狀態碼500個信號內部服務器錯誤。日誌中是否顯示更詳細的消息? –

+0

不,我不知道如何訪問更詳細的日誌 –

回答

0

一些測試後,我發現語法是不正確的,這裏是正確的:

admin.database().ref('/machine/'+mach_id+'/value').once('value').then(function(snapshot) { 
    var event = snapshot.val(); 
     app.tell('Result: '+event); 
    }); 
相關問題