我在下面有以下无服务器lambda功能代码......
export function incoming_calls(event, context, callback) {
var util = require("util");
const VoiceResponse = require('twilio').twiml.VoiceResponse;
const twiml = new VoiceResponse();
//Determine message to give based on parameters given
var theMessage = "Incoming Pool Service Leed";
var querystring = require("querystring");
var qMessage = querystring.stringify({message: theMessage});
var whisperURL = "https://" + process.env.DOMAIN_NAME + "/twilio/whisper?" + qMessage;
//twiml.say({ voice: 'woman' }, 'hello world!');
twiml.dial({ record: 'true'}).number({url: whisperURL},'407-947-0503');
//twiml.say({ voice: 'woman' }, 'This is a test!');
//Useful Info
var queryString = util.inspect(event.body);
console.log("queryString="+queryString)
sendemail("myemail@email.com","Incoming Call POST Request",queryString);
callback(null, successXml(twiml.toString()));
}
此代码有效,并向我发送一封包含POST变量的电子邮件,但作为一个长字符串,如下所示......
'Called=%2B15622222222&ToState=CA&CallerCountry=US&Direction=inbound&CallerState=CA&ToZip=90670&CallSid=CA47e5131dd5e7375190aaf5fab773a9b0&To=%2B15622221234&CallerZip=92606&CallerName=
...等
如何将我从Twilio接收的POST参数转换为更好的格式,可能是数组或对象而不是字符串?
答案 0 :(得分:3)
返回的字符串看起来像一个简单的查询字符串,因此您可以parse the query string in vanilla js或尝试使用另一种方法而不是list=['samAsl-----$34.95andkjkdsfaskjjlkjroseDkfj----$38.99','samAsl-----$31.95andkjkdsfaskjjlkjroseDkfj----35.99']
来获取所需的值。