Twilio 语音通话中的应用程序错误 Django/python
Application Error in Twilio voice call Django/python
我最近开始使用 Twilio 语音呼叫向使用 Django 的用户发送 OTP。
我指的是给定的 link 来自定义 Twilio 响应。
https://www.twilio.com/docs/tutorials/walkthrough/click-to-call/python/flask
views.py
def voice_call(otp, mobile_no):
client = TwilioRestClient(settings.ACCOUNT_SID, settings.AUTH_TOKEN)
client.calls.create(from_=settings.OTP_FROM_NUMBER,
to=mobile_no,
url='http://localhost:8000/outbound/',
method='POST')
def outbound(self):
response = twiml.Response()
response.say("Thank you for contacting our department",
voice='alice')
return HttpResponse(response, content_type="application/xml")
在 urls.py 中,我有 /outbound/ 指向我的 django 视图模块。
如果我在浏览器中点击“/outbound/”,它会呈现正确的 xml 响应
但是在语音通话中,它给出了一条错误消息说 'Sorry application error'
不确定我在渲染 xml 时哪里出错了。
提前致谢。
此处为 Twilio 开发人员布道师。
我认为问题在于您正试图将 Twilio 指向您的 localhost
。当 Twilio 连接调用时,它会尝试向您在 REST API 调用中传递的 URL 发出 HTTP 请求。如果您通过 localhost
,那么 Twilio 将无法访问它,因为它仅在您的计算机上可用。
不过还是有办法的!我们建议使用名为 ngrok. It allows external services to tunnel through to your localhost
so that you can test webhooks like this. Check out these blog posts on how to set up ngrok for use with Twilio and all the reasons I like using ngrok for developing with Twilio.
的工具
如果有帮助请告诉我!
我最近开始使用 Twilio 语音呼叫向使用 Django 的用户发送 OTP。 我指的是给定的 link 来自定义 Twilio 响应。 https://www.twilio.com/docs/tutorials/walkthrough/click-to-call/python/flask
views.py
def voice_call(otp, mobile_no):
client = TwilioRestClient(settings.ACCOUNT_SID, settings.AUTH_TOKEN)
client.calls.create(from_=settings.OTP_FROM_NUMBER,
to=mobile_no,
url='http://localhost:8000/outbound/',
method='POST')
def outbound(self):
response = twiml.Response()
response.say("Thank you for contacting our department",
voice='alice')
return HttpResponse(response, content_type="application/xml")
在 urls.py 中,我有 /outbound/ 指向我的 django 视图模块。
如果我在浏览器中点击“/outbound/”,它会呈现正确的 xml 响应 但是在语音通话中,它给出了一条错误消息说 'Sorry application error'
不确定我在渲染 xml 时哪里出错了。 提前致谢。
此处为 Twilio 开发人员布道师。
我认为问题在于您正试图将 Twilio 指向您的 localhost
。当 Twilio 连接调用时,它会尝试向您在 REST API 调用中传递的 URL 发出 HTTP 请求。如果您通过 localhost
,那么 Twilio 将无法访问它,因为它仅在您的计算机上可用。
不过还是有办法的!我们建议使用名为 ngrok. It allows external services to tunnel through to your localhost
so that you can test webhooks like this. Check out these blog posts on how to set up ngrok for use with Twilio and all the reasons I like using ngrok for developing with Twilio.
如果有帮助请告诉我!