【问题标题】:Following a Twilio Tutorial to Record Phone Calls: Resulting in a 404 HTTP Error按照 Twilio 教程录制电话:导致 404 HTTP 错误
【发布时间】:2020-10-25 03:40:04
【问题描述】:

我正在关注链接 here 的本教程,该教程结合了 Twilio 可编程语音和 Express 来记录呼入电话。我完全按照教程操作,设置了一个 ngrok 公共服务器,将它连接到我的 http://localhost:3000,当我导航到我的 ngrok 链接时,我得到以下输出:

无法获取/

当我在终端中检查 ngrok 时,对于 GET(不在我的代码中)和 POST 请求,它显示“404 Not Found”。如果我在我的代码中添加一个简单的 GET 请求(例如“Hello World”),那么在浏览器中,当我运行我的应用程序时会看到“Hello World”。在终端中,GET 可以成功,但 POST 仍然返回“404 Not Found”。

我检查了其他几个堆栈溢出问题,我尝试按照建议导入 body-parser 并添加以下两行:

const bodyParser = require('body-parser');
app.use(bodyParser.json());

作为参考,我的目录有一个 record.js 文件、package.json 和 package-lock.json 文件,以及必要的节点模块。在我的 Twilio 控制台中,我确实为我的 Twilio # 设置了一个 web 挂钩到 ngrok 链接,如下所示:http://39b62a0c34b1.ngrok.io。显示我的执行顺序:

  1. 在 Mac 终端中运行 ./ngrok http 3000
  2. 在 VS Code 终端中运行 node record.js
  3. 导航到http://39b62a0c34b1.ngrok.io
  4. 打电话给我的 Twilio #

语音消息告诉我,我的应用程序存在问题。我检查了 Twilio 调试器并收到 11200 错误,通知我我的 ngrok 链接返回了“HTTP 状态代码 404”。

我对 Node.js、Express 和 Twilio 还很陌生,因此我们非常感谢您提供任何和所有帮助(请简化您的解释)!我希望有朝一日成为 Twilio 的开发人员宣传员,所以我现在已经做好了犯错的准备,以便将来解决它们。

【问题讨论】:

    标签: node.js express twilio record twilio-api


    【解决方案1】:

    Twilio 对 Webhhooks 使用 x-www-form-urlencoded,而不是 JSON。

    您需要添加 Express 中间件来解析 urlencoded 数据。

    第三行:

    // Body Parser Middleware
    app.use(express.json());
    app.use(express.urlencoded({ extended: false }));
    

    Where do I find the specifications for inbound HTTP requests to my server?

    告诉我进展如何。

    仍然不清楚为什么您会收到 404 - Not Found。 app.post 应该启动 POST 操作。 app.all 用于所有操作。您是否在测试中使用 /record 路径?

    【讨论】:

      猜你喜欢
      • 2016-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多