Skip to main content
 首页 » 编程设计

python之Twilio 语音调用 Django/python 中的应用程序错误

2025年04月02日49hnrainll

我最近开始使用 Twilio 语音调用向使用 Django 的用户发送 OTP。 我指的是自定义 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 View 模块。

如果我在浏览器中点击“/outbound/”,它会呈现正确的 xml 响应 但在语音通话中,它给出了一条错误消息,提示 'Sorry application error'

不确定我在呈现 xml 时哪里出错了。 提前致谢。

请您参考如下方法:

此处为 Twilio 开发人员布道师。

我认为问题在于您试图将 Twilio 指向您的 localhost。当 Twilio 连接调用时,它会尝试向您在 REST API 调用中传递的 URL 发出 HTTP 请求。如果您传递 localhost,则 Twilio 将无法访问它,因为它仅在您的计算机上可用。

虽然有一个解决方案!我们建议使用名为 ngrok 的工具.它允许外部服务通过隧道连接到您的 localhost,以便您可以像这样测试 webhook。在 how to set up ngrok for use with Twilio 上查看这些博客文章和 all the reasons I like using ngrok for developing with Twilio .

如果有帮助,请告诉我!