Dialogflow es Dialogflow实现:Webhook调用失败。错误:500内部服务器错误

Dialogflow es Dialogflow实现:Webhook调用失败。错误:500内部服务器错误,dialogflow-es,actions-on-google,Dialogflow Es,Actions On Google,所以我试图从Dialogflow中创建一个关于维生素的对话。但是,我不断地得到同样的错误,正因为如此,人工智能做出了同样的反应。所以我们想要发生的是, (用户)-给我更多关于维生素的信息 (AI)-当然。哪种维生素 (用户)-*这里我们指定哪种维生素,例如-*维生素A。 (AI)-然后AI为我们提供维生素A的特定反应 请帮忙 这是我们正在执行的代码 const functions=require('firebase-functions'); const{dialogflow}=require(

所以我试图从Dialogflow中创建一个关于维生素的对话。但是,我不断地得到同样的错误,正因为如此,人工智能做出了同样的反应。所以我们想要发生的是, (用户)-给我更多关于维生素的信息 (AI)-当然。哪种维生素 (用户)-*这里我们指定哪种维生素,例如-*维生素A。 (AI)-然后AI为我们提供维生素A的特定反应

请帮忙

这是我们正在执行的代码

const functions=require('firebase-functions');
const{dialogflow}=require('actions-on-google')
常量维生素=维生素
常量维生素实体='维生素'
const app=dialogflow()
应用意图(维生素意图,(conv)=>{
常量vitamin_type=conv.parameters[vitamin_ENTITY].toLowerCase();
如果(维生素类型=‘维生素A’){
conv.ask(“来源:胡萝卜、红薯、绿叶蔬菜、南瓜”)
}else if(维生素类型=‘维生素B’){
conv.ask(“来源:动物产品(如鱼、家禽、肉、蛋或奶制品);也存在于强化早餐麦片和强化大豆或米浆中。”)
}否则如果(维生素类型=‘维生素B1’){
conv.ask(“来源:葵花籽、芦笋、莴苣、蘑菇、黑豆、海军豆、扁豆、菠菜、豌豆、平豆、利马豆、茄子、芽甘蓝、西红柿、金枪鱼、全麦、大豆。”)
}否则如果(维生素类型=‘维生素B2’){
conv.ask(“来源:B2”)
} 
})

exports.dialogflowFirebaseFulfillment=functions.https.onRequest(app)
错误500通常表示您的程序由于某种原因崩溃,尽管不查看日志,很难确切说出原因

我猜那部分

const vitamin_type = conv.parameters[VITAMINS_ENTITY].toLowerCase();
您没有名为“vitains”的参数。参数名区分大小写,通常都是小写的。因此
conv.parameters[vitaments\u ENTITY]
的计算结果为
undefined
undefined
没有函数
.toLowerCase()

此外,代码中至少有一个逻辑问题。线路

const vitamin_type = conv.parameters[VITAMINS_ENTITY].toLowerCase();
这确保字符串
vitamin\u type
为小写。所以,维生素a等价值观

但是当您测试这些值时,您会使用比较,例如

if (vitamin_type == 'Vitamin A') {
你将其与“维生素A”等值进行比较。因此,这些值永远不会匹配


由于所有值都不匹配,因此您将退出函数而不调用
conv.ask()
,这将生成错误。(虽然不是错误500。)

请更新您的问题,在屏幕编辑器中包括“维生素”意图的屏幕截图和程序运行时的错误日志。看到和