dialogflow 代码未将数据发布到 Google 电子表格。 Firebox 中没有记录错误
The dialogflow code is not posting data to the Google Spreadsheet. No bugs logged in Firebox
这是代码。添加了用于测试的硬编码值。
Axios 添加到 package.json
在 Intent 中启用实现。
function workerHandler(agent) {
const {
name, phone, date
} = agent.parameters;
const data = [{
name: "Akash",
phone: "1234567891",
date: "5 July"
}];
axios.post = ('https://sheet.best/api/sheets/------', data);
}
// Run the proper function handler based on the matched Dialogflow intent name
let intentMap = new Map();
intentMap.set('Default Welcome Intent', welcome);
intentMap.set('Default Fallback Intent', fallback);
intentMap.set('saveData', workerHandler);
// intentMap.set('your intent name here', yourFunctionHandler);
// intentMap.set('your intent name here', googleAssistantHandler);
agent.handleRequest(intentMap);
});
请帮忙。
您的代码存在一些问题。
首先,您似乎在对 axios.post
进行赋值,而不是尝试调用它,尽管语法看起来也不正确。应该是这样的
axios.post( url, data );
您还需要 return 它(及其 then/catch)链接 return 的 Promise,以便 Dialogflow 的处理程序调度程序知道等待 Promise 完成。所以这可能看起来更像
return axios.post( url, data );
但是由于您需要错误处理,并且您应该向用户发送响应,所以这可能看起来更像
return axios.post( url, data )
.then( () => {
agent.add( "Saved" );
})
.catch( err => {
console.error( err );
agent.add( "Something went wrong" );
});
这是代码。添加了用于测试的硬编码值。
Axios 添加到 package.json 在 Intent 中启用实现。
function workerHandler(agent) {
const {
name, phone, date
} = agent.parameters;
const data = [{
name: "Akash",
phone: "1234567891",
date: "5 July"
}];
axios.post = ('https://sheet.best/api/sheets/------', data);
}
// Run the proper function handler based on the matched Dialogflow intent name
let intentMap = new Map();
intentMap.set('Default Welcome Intent', welcome);
intentMap.set('Default Fallback Intent', fallback);
intentMap.set('saveData', workerHandler);
// intentMap.set('your intent name here', yourFunctionHandler);
// intentMap.set('your intent name here', googleAssistantHandler);
agent.handleRequest(intentMap);
});
请帮忙。
您的代码存在一些问题。
首先,您似乎在对 axios.post
进行赋值,而不是尝试调用它,尽管语法看起来也不正确。应该是这样的
axios.post( url, data );
您还需要 return 它(及其 then/catch)链接 return 的 Promise,以便 Dialogflow 的处理程序调度程序知道等待 Promise 完成。所以这可能看起来更像
return axios.post( url, data );
但是由于您需要错误处理,并且您应该向用户发送响应,所以这可能看起来更像
return axios.post( url, data )
.then( () => {
agent.add( "Saved" );
})
.catch( err => {
console.error( err );
agent.add( "Something went wrong" );
});