我目前正在使用Firebase云功能与Api.ai和Google助手SDK一起使用。
到目前为止我所做的是这个简单的回答:
function setMachine (app) {
let mach_id = app.getArgument(MACHINE_ARGUMENT);
app.tell('Machine ID is'+mach_id );
这很棒!助理用正确的参数回答我!
现在我想回复数据库中的数据。
我尝试了两种不同的路径:
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:new 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 :(得分:0)
经过一些测试,我发现语法不正确,这是正确的:
admin.database().ref('/machine/'+mach_id+'/value').once('value').then(function(snapshot) {
var event = snapshot.val();
app.tell('Result: '+event);
});