首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用基于语音的命令的Google助手无法从firebase数据库或Dialogflow获取数据时出错

使用基于语音的命令的Google助手无法从firebase数据库或Dialogflow获取数据时出错
EN

Stack Overflow用户
提问于 2019-08-30 23:28:15
回答 1查看 58关注 0票数 0

我正在使用Dialogflow中的Google助手做一个项目。当我请求数据时,例如,如果我要求使用注册号RegId获取学生详细信息,如果我使用键盘输入注册号,我将获得数据。但是,如果我说注册号,比如191611238,它不是在谷歌助手中获取数据。

代码语言:javascript
复制
function handleGetthedetailsofRegisternumber(agent){

const RegId = agent.parameters.RegId;

agent.add("please wait");
var ref =  admin.database().ref().child("Table/");
var query = ref.orderByChild("RegId").equalTo(RegId.toString());
return query.once("value",function(snapshot) {

 snapshot.forEach(function(child) {

  console.log(child.key);
  // name field

 console.log("FirstName: " + child.val().FirstName);
 console.log("Mobile: " + child.val().MobileNumber);
 console.log("Email: " + child.val().EmailId);
 agent.add(`The student name is  ` + child.val().FirstName);

在这里,如果我说获取191611238的学生数据,它将只显示“请等待”,而不会执行其他部分。

如果我手动输入注册号,而不是使用语音,我将获得学生FirstName。

我想通过语音和手动两种方式获取数据。但是,如果我使用语音,我无法获取数据。

EN

回答 1

Stack Overflow用户

发布于 2019-08-31 02:16:58

当你说出数字时,似乎你的意图没有正确地捕捉到它-只有在你键入它的时候。您可能需要添加额外的调试,以查看通过语音尝试调用的意图以及调用的值。

这可以像在代码中添加调试一样简单,如下所示:

代码语言:javascript
复制
const RegId = agent.parameters.RegId;
console.log('RegId',RegId);

您还可以打开记录到Google Cloud,它将记录Dialogflow获得的每个请求和响应,并将其发送到fulfillment。为此,请选择齿轮图标,然后向下滚动并确保启用了"Log interactions to Google Cloud“。然后,您可以通过转到此项目的Google Cloud控制台或单击交换机旁边的链接来查看日志。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57729535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档