如何在Twilio中使用node.js修复无效的内容types标题?

我一直在从事Radical Skills的Twilio项目 ,我一直在使用JavaScript来回应传入的短信。 我能够使用TwiML,这是XML,但我无法像JavaScript中的示例所示。

Twilio中的我的消息请求URL是/incoming/handle-incoming-text.xml。

<?xml version="1.0" encoding="UTF-8"?> <Response> <Redirect method="GET">incoming/sms.js</Redirect> </Response> 

当我的Twilio应用程序收到文本消息时,它redirect到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号码中得到一个“Hi!”的文字。 事实上,我根本没有得到任何答复。

当我检查了错误日志,它给了我一个12300无效的内容types错误与下面的消息。

Twilio尝试从URL中检索内容,但无法在响应中处理application / javascript Content-Type标头。 有关有效的内容types设置的更多详细信息,请参阅Twilio XML标记文档。

我的回复中的一个标题是“Content-Type application / javascript”。 根据twilio-node帮助程序库文档 ,它应该输出XML。 但是,它似乎没有正常工作。

我已经花了几个小时试图弄清楚这一点,但我仍然无法做到这一点。

Twilio开发者在这里传道。

看来,激进技能项目缺less一些细节。 我build议你阅读一下我的同事Kevin写的关于node.js助手的博客文章 。 它会介绍如何设置Web服务器以正确响应Twilio。 对于这个特定的问题,你可以看看处理短信的部分 。

希望这有助于,让我知道,如果我可以帮助更多。