firebase代码中未定义request.body.result
在这里,部署后request.body.result是未定义的,在action语句中哪个抛出类型错误firebase代码中未定义request.body.result,firebase,firebase-realtime-database,google-cloud-firestore,chatbot,dialogflow-es,Firebase,Firebase Realtime Database,Google Cloud Firestore,Chatbot,Dialogflow Es,在这里,部署后request.body.result是未定义的,在action语句中哪个抛出类型错误 我已经创建了一个聊天机器人,它收集用户的详细信息并将其存储在数据库中。为了存储详细信息,我使用了firestore数据库,该数据库抛出上述错误,因为request.body.result未定义。请帮助 您没有包含您得到的JSON,这将有助于诊断问题,但您的代码似乎使用了实现协议的V1,但您的项目设置为V2。虽然您可以将项目切换回V1,但如果您将其重写为使用V2会更好 在V2下,request.b
我已经创建了一个聊天机器人,它收集用户的详细信息并将其存储在数据库中。为了存储详细信息,我使用了firestore数据库,该数据库抛出上述错误,因为request.body.result未定义。请帮助 您没有包含您得到的JSON,这将有助于诊断问题,但您的代码似乎使用了实现协议的V1,但您的项目设置为V2。虽然您可以将项目切换回V1,但如果您将其重写为使用V2会更好 在V2下,
request.body.result
已替换为request.body.queryResult
。虽然某些字段和字段名称已更改,操作
仍应相同
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
console.log('Request headers: ' + request.headers);
console.log('Request body: ' + JSON.stringify(request.body));
console.log(request.body.result.action);
console.log(JSON.stringify(request.body.result.action));
let action = request.body.result.action;
let query = request.body.result.resolvedQuery;
const parameters = request.body.result.parameters;
const inputContexts = request.body.result.contexts;
if(action === 'save.name'){
admin.firestore().collection('users').add({
name: name
}).then(ref => {
console.log('Added new user');
});
elif
{
console.log("Specified action is not enabled");
}
}
});