2017-10-05 116 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); 
    }); 
相关问题