我想发送一个带有recordingStatusCallback url的号码。但是,当我收到web挂钩url中的参数日志时,我没有看到我在url中传递的参数。我将参数解析为url端编码格式。在下面的代码中,我在url中发送chunkStartNumber=18,但在下面的日志中没有chunkStartNumber的踪迹
var recLenDivided=18;
let twiml = new Twilio.twiml.VoiceResponse();
twiml.record({
action:`https://xyz`,
method: 'GET',
finishOnKey: '5',
recordingStatusCallback:`http://xyz/hookFolder?chunkStartNumber=${recLenDivided}`
});
return callback(null, twiml);
}
解析器代码
const express = require ('express')
const bodyParser = require ('body-parser')
const app = express()
const PORT = 3000
app.use(express.static("public"))
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended:true}))
app.post("/hookFolder",(req, res) => {
console.log(req.body)
res.status(200).end()
})
日志
{ RecordingSource: 'RecordVerb',RecordingSid: 'RE', RecordingUrl: 'https://api.twilio.com/2010-04-01/', RecordingStatus: 'completed', RecordingChannels: '1', ErrorCode: '0', CallSid: 'CA', RecordingStartTime: 'Tue, 22 Dec 2020 18:09:44 +0000', AccountSid: 'AC', RecordingDuration: '9' }
尝试req.query.
此外,无需使用Bodyparser。内置于更高版本的Express。
- 4.16.0-发布日期:2017-09-28https://expressjs.com/en/changelog/4x.html
app.use(express.json());
app.use(express.urlencoded({ extended: false }));