0

Ich habe den Funktionscode folgende serverless Lambda unter ...Serverless lesen POST-Variablen in sinnvoller Weise

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("[email protected]","Incoming Call POST Request",queryString); 

    callback(null, successXml(twiml.toString())); 
} 

Dieser Code funktioniert und schickt mir eine E-Mail mit den POST-Variablen, sondern als eine lange Zeichenfolge wie folgt suchen. ..

'Called=%2B15622222222&ToState=CA&CallerCountry=US&Direction=inbound&CallerState=CA&ToZip=90670&CallSid=CA47e5131dd5e7375190aaf5fab773a9b0&To=%2B15622221234&CallerZip=92606&CallerName= ... etc

Wie konvertiere ich die POST-Parameter I von Twilio in ein schöneres Format empfangen, vielleicht statt einem String eines Array oder Objekt?

Antwort

3

Die zurückgegebene Zeichenfolge sieht wie eine einfache Abfragezeichenfolge aus. Sie könnten also einfach parse the query string in vanilla js suchen oder versuchen, eine andere Methode anstelle von toString() zu finden, um den benötigten Wert zu erhalten.

+0

Wie parsen Sie es zwar? –

+1

Wie wäre es mit https://www.npmjs.com/package/qs? –

+0

Ich sehe jetzt irgendwie deinen Link verpasst ... so viele verschiedene Antworten! –