Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Dialogflow代理在Google模拟器中工作,在控制台和web链接中失败_Javascript_Webhooks_Dialogflow Es_Fulfillment - Fatal编程技术网

Javascript Dialogflow代理在Google模拟器中工作,在控制台和web链接中失败

Javascript Dialogflow代理在Google模拟器中工作,在控制台和web链接中失败,javascript,webhooks,dialogflow-es,fulfillment,Javascript,Webhooks,Dialogflow Es,Fulfillment,我正在使用DialogFlowV2 API 通过谷歌模拟器上的操作,一切都能在测试中完美运行。请查看附件中的图片 但是,当尝试在Dialogflow中使用控制台(右列)和web集成链接时,它不起作用 代理能够从用户输入中检测适当的实体,但无法调用webhook中声明的意图。 我试图在Dialogflow论坛中发布,但发布时出错。使用Dialogflow提升支撑的类似情况 谷歌模拟器代理(works)图片: 公共链接代理的映像(失败): webhook js文件和控制台中声明的响应图像:

我正在使用DialogFlowV2 API

通过谷歌模拟器上的操作,一切都能在测试中完美运行。请查看附件中的图片

但是,当尝试在Dialogflow中使用控制台(右列)和web集成链接时,它不起作用

代理能够从用户输入中检测适当的实体,但无法调用webhook中声明的意图。

我试图在Dialogflow论坛中发布,但发布时出错。使用Dialogflow提升支撑的类似情况

谷歌模拟器代理(works)图片:

公共链接代理的映像(失败):

webhook js文件和控制台中声明的响应图像:

请在下面找到我的index.js webhook的一部分。我正在使用Dialogflow的内联编辑器

“严格使用”;
const functions=require('firebase-functions')
const{dialogflow}=require('actions-on-google')
const app=dialogflow()
app.intent('默认欢迎意图',conv=>{
conv.ask('欢迎来到Zera!我们提供药物和药物建议。今天有什么困扰你?')
})
app.intent('QSpecific Problem',(conv,{SpecificProb})=>{
set('specificprob',10,{specificprob:specificprob})
conv.ask(`你以前有过这些问题吗?`)
})
app.intent('QRecurring',(conv,{recurtive})=>{
set('recurtive',10,{recurtive:recurtive})
如果(重复==“重复”){
conv.ask(`你有没有为此服用药物?`);
}否则{
const specProb=conv.contexts.get('specificprob')
conv.ask(`您使用这个${specProb.parameters.SpecificProb}有多长时间了?`)
} 
})

exports.dialogflowFirebaseFulfillment=functions.https.onRequest(app)
我实际上写信给Dialogflow的支持团队寻求帮助。我和瑞尔谈过,她帮了我很大的忙。请参阅以下他的答覆:

您的代理在Google模拟器上的操作中按预期工作,因为 您使用的库专门用于Google上的操作。这个 您使用的库是Google Node.js客户端库上的操作

如果您还想将web演示集成用于响应, 您可以使用Dialogflow的实现库,该库具有集成 使用AoG客户端库的Google助手

您可以参考此示例代码来实现。”使用严格的“

const functions = require('firebase-functions');
const { WebhookClient } = require('dialogflow-fulfillment');

process.env.DEBUG = 'dialogflow:debug';

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });

function welcome(agent) {
let conv = agent.conv();
conv.ask('Welcome to my agent!');
agent.add(conv);
}

let intentMap = new Map();
intentMap.set('Default Welcome Intent', welcome);
agent.handleRequest(intentMap);
});

Dialogflow的支持团队非常有帮助,他们的回复非常迅速。我建议你写下来,因为每个人的问题是不同的,相当具体!您可以通过

联系他们您包含的链接已断开您的错误有哪些?您是如何解决的?如果需要,请自行回答。我也有同样的问题!您好,很抱歉回复太晚,请看我的自我回答!