2

我最近开始使用 Twilio Voice call 向使用 Django 的用户发送 OTP。我指的是给定的链接来自定义 Twilio 响应。 https://www.twilio.com/docs/tutorials/walkthrough/click-to-call/python/flask

视图.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 响应,但在语音呼叫中,它会给出一条错误消息,说“抱歉应用程序错误”

不知道我在渲染 xml 时哪里出错了。提前致谢。

4

1 回答 1

1

Twilio 开发人员布道者在这里。

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

不过有解决办法!我们建议使用名为ngrok的工具。它允许外部服务通过隧道连接到您localhost,以便您可以像这样测试 webhook。查看这些博客文章,了解如何设置 ngrok 以与 Twilio 一起使用,以及我喜欢使用 ngrok 与 Twilio 一起开发的所有原因

让我知道这是否有帮助!

于 2016-03-29T08:50:06.420 回答