如何使用node.js修复Twilio中无效的内容类型标头
How do I fix an invalid content-type header in Twilio using node.js?
我一直在Radical Skills的Twilio项目中工作,在使用JavaScript响应传入的文本消息时遇到了问题。我可以使用TwiML,它是XML,但我无法像示例所示那样用JavaScript进行响应。
我在Twilio中的消息请求URL是/intering/handle-intering-text.xml。
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Redirect method="GET">incoming/sms.js</Redirect>
</Response>
当我的Twilio应用程序收到一条短信时,它会重定向到sms.js。我直接从示例中复制了这段代码。
var twilio = require('twilio');
var resp = new twilio.TwimlResponse();
if( req.Body == 'hello'){
resp.message('Hi!');
}else if( req.Body == 'bye'){
resp.message('Goodbye');
}
console.log(resp.toString());
当我用手机向我的Twilio号码发送一条"你好"的短信时,我会得到以下回复。
GET /incoming/handle-incoming-text.xml 200 1ms - 240b
GET /incoming/sms.js 200 39ms - 251b
然而,我没有从我的Twilio号码中收到回复"嗨!"事实上,我根本没有收到回复。
当我查看错误日志时,它给了我一个12300无效内容类型错误,并显示以下消息。
Twilio试图从URL中检索内容,但无法处理响应中的application/javascript content-Type标头。有关有效内容类型设置的更多详细信息,请参阅Twilio XML标记文档。
我的回复中有一个标题是"Content-Typeapplication/javascript"。根据twilio节点助手库文档,它应该输出XML。然而,它似乎没有正常工作。
我花了几个小时试图弄清楚这一点,但我仍然没能做到。
这里是Twilio开发人员的传道者。
激进技能项目似乎缺少一些细节。我建议你阅读一下我的同事Kevin写的关于node.js助手的这篇博客文章。它将带您了解如何设置网络服务器以正确响应Twilio。对于这个特殊的问题,您可以查看有关处理SMS的部分。
希望这能有所帮助,如果我能帮助更多,请告诉我。
- 警告:失败的propType:类型为“array”的无效prop应为React的“object”
- ReactJS - 元素类型无效错误
- Webgl readPixels() 无效操作:格式/类型组合无效
- 未捕获错误:不变冲突:元素类型无效:应为字符串
- 未捕获的不变冲突:元素类型无效(react、webpack、循环导入)
- 类型错误: 无效的“in”操作数 obj
- 如何使用node.js修复Twilio中无效的内容类型标头
- jQuery image丢弃无效的图像类型,并显示一条无效的消息而不是警告框
- 无效的“in”操作数 obj JQUERY - 尝试从 JSON 获取数据时出现类型错误
- 反应.js - “不变冲突:元素类型无效:预期字符串”简单按钮
- 未捕获的错误:不变冲突:元素类型无效:需要字符串(对于内置组件)或类/函数,但得到:对象
- Getting Invariant违规:使用createBrowserHistory时元素类型无效react-route
- react router问题未捕获错误:不变冲突:元素类型无效:应为字符串(用于内置组件)
- React Redux错误提供给“Provider”的“object”类型的道具“children”无效
- 轨道-“;对象值“;是属性“”的无效值;对象“;具有类型“;参考文献“;
- 元素类型无效:期望是字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义
- 未捕获错误:google表列的类型无效
- Google arrayToDataTable-行0的行类型无效
- 元素类型无效,应为未定义的字符串
- 元素类型无效:期望是字符串或类/函数,但得到的是:对象