遵循 Twilio 客户端教程。卡在你做测试的地方 https://www.twilio.com/docs/quickstart/ruby/client/incoming-calls
curl -X POST http://localhost:3000/voice
我不断收到 WEBrick::HTTPStatus::LengthRequired 响应。
当我把它写成
curl -X POST http://localhost:3000/voice -d ''
它有效。但是我该如何在我的路线或 Controller 中解决这个问题?
路线.rb
post 'voice', to: 'calls#voice', as: :voice
Controller
def voice
response = Twilio::TwiML::Response.new do |r|
# Should be your Twilio Number or a verified Caller ID
r.Dial :callerId => '+16479316790' do |d|
d.Client 'jenny'
end
end
render :text => response.text
end
谢谢! 此外,如果您之前已经这样做过……在仪表板中添加 localhost:3000 作为回调 URL 时遇到问题。有什么建议吗?
最佳答案
语音URL不需要是POST请求,可以是GET请求。在应用仪表板中,您可以将语音请求URL的类型更改为GET,然后修改您的routes.rb以使用get。
使用“localhost”作为域将无法正常工作,因为需要 URL 指向您的网络服务器。相反,您想要的是 Web 服务器的完整 URL,您可以使用 ngrok 之类的东西来完成它。 .
关于ruby-on-rails - WEBrick::HTTPStatus::LengthRequired 与 Twilio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19063254/