Curl Twilio TWIML POST请求:文档分析错误
使用Meteor构建一个死气沉沉的简单Twilio应用程序,得到调用,但XML未被解析(得到通常的“抱歉,发生了应用程序错误”) 指向xxxxx.meteor.com/api/twiml/voice或xxxxx.meteor.com/voice.xml:Curl Twilio TWIML POST请求:文档分析错误,curl,meteor,twilio,webhooks,twilio-twiml,Curl,Meteor,Twilio,Webhooks,Twilio Twiml,使用Meteor构建一个死气沉沉的简单Twilio应用程序,得到调用,但XML未被解析(得到通常的“抱歉,发生了应用程序错误”) 指向xxxxx.meteor.com/api/twiml/voice或xxxxx.meteor.com/voice.xml: Twilio响应错误11200-HTTP检索失败(404) 响应正文为“此地址未部署任何站点” 指向xxxxx.onmodulus.net/api/twiml/voice或voice.xml 这是完全相同的应用程序,只是配置为相应的URL
- Twilio响应错误11200-HTTP检索失败(404)
- 响应正文为“此地址未部署任何站点”
- 这是完全相同的应用程序,只是配置为相应的URL
- Twilio响应错误12100-文档解析失败
- 响应主体相当于“未部署站点”,即使我请求的是服务器端路由
//lib.js
Router.route('/');
if (Meteor.isServer) {
Router.route('/SERVER_SIDE_URL', {
where: 'server',
action: function() {
console.log(this.request);
var xmlData = "<?xml version=1.0 encoding=UTF-8?>";
xmlData += '<Response><Say voice="man">Please, please work!</Say></Response>';
this.response.writeHead(200, {'Content-Type': 'text/xml'});
this.response.end(xmlData);
}
});
Meteor.methods({
makeCall: function(){
twilio = Twilio("PUB_KEY", "PRIV_KEY");
twilio.calls.create({
to:'MY_PHONE_NUMBER',
from: 'MY_TWILIO_NUMBER',
url: 'SERVER_SIDE_URL'
}, function(err, responseData) {
if(!err && !responseData.error_message){
console.log(responseData);
return responseData;
} else{
console.log(responseData);
return responseData;
}
});
}
});
}
//lib.js
路由器路由('/');
if(Meteor.isServer){
Router.route(“/SERVER\u SIDE\u URL”{
其中:'服务器',
行动:功能(){
console.log(this.request);
var xmlData=“”;
xmlData+=“请,请工作!”;
this.response.writeHead(200,{'Content-Type':'text/xml'});
this.response.end(xmlData);
}
});
流星法({
makeCall:function(){
twilio=twilio(“发布键”、“私钥”);
twilio.calls.create({
致:“我的电话号码”,
来自:“我的号码”,
url:“服务器端url”
},函数(错误,响应数据){
如果(!err&&!responseData.error_消息){
控制台日志(responseData);
返回响应数据;
}否则{
控制台日志(responseData);
返回响应数据;
}
});
}
});
}
这里是Twilio的Megan。尝试将版本和编码放在var xmlData的引号中
var xmlData = "<?xml version='1.0' encoding='UTF-8'?>";
var xmlData=”“;
希望这能奏效
另外,我正在测试这个本地运行的ngrok,它允许您将本地主机隧道到一个可公开访问的URL。这使得在开始部署之前确保代码正常工作变得很容易
如果你想了解更多关于ngrok如何工作的信息,你可以去看看