2016-03-27 4 views
2

Ich habe angefangen, Twilio Voice Anruf vor kurzem zu verwenden, um OTP an Benutzer zu senden, die Django verwenden. Ich beziehe mich auf den angegebenen Link, um die Twilio-Antwort anzupassen. https://www.twilio.com/docs/tutorials/walkthrough/click-to-call/python/flaskAnwendungsfehler in Twilio Sprachanruf Django/python

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") 

In urls.py, ich habe/outbound/dass Punkte auf meine django Ansicht Modul.

Wenn ich Hit ‚/ outbound /‘ in Browser macht es die richtige XML-Antwort aber in dem Sprachanruf, gibt es eine Fehlermeldung, ‚Leider Anwendungsfehler‘

Nicht sicher, wohin ich gehe falsch beim Rendern der XML. Vielen Dank im Voraus.

Antwort

1

Twilio Entwickler Evangelist hier.

Ich denke, das Problem ist, dass Sie versuchen, Twilio auf Ihre localhost zeigen. Wenn Twilio den Anruf verbindet, wird versucht, eine HTTP-Anforderung an die URL zu senden, die Sie im REST-API-Aufruf übergeben haben. Wenn Sie localhost überschreiten, kann Twilio es nicht erreichen, da es nur auf Ihrem Gerät verfügbar ist.

Es gibt jedoch eine Lösung! Wir empfehlen die Verwendung eines Tools namens ngrok. Es erlaubt externen Diensten, zu Ihrem localhost durchzubohren, damit Sie Webhooks wie dieses prüfen können. Sehen Sie sich diese Blogposts unter how to set up ngrok for use with Twilio und all the reasons I like using ngrok for developing with Twilio an.

Lassen Sie mich wissen, wenn das hilft!

+0

Danke @phlnash für den Vorschlag. Ich war mit den anderen Sachen wenig beschäftigt, also konnte ich nicht früher antworten. Ich habe versucht mit Ngrok und gab Berechtigungen für die URL von meinem Twilio-Konto, aber es gibt mir immer noch den gleichen Fehler. Ich schaute auch in Protokolle, wo es mir diesen Fehler zeigt ** 11200 HTTP-Abruffehler ** Ich bin mir nicht sicher, woher das kommt. Könntest du mich bitte ein wenig führen, da ich ein Neuling darin bin. – Shagun

+0

Sie sagen, dass wenn Sie das XML im Browser laden, es funktioniert, was eine GET-Anfrage ist. Ist Ihre Telefonnummer in Twilio auf GET oder POST eingestellt? – philnash

+0

Es ist auf POST eingestellt .. Ich habe gerade festgestellt, dass es eine CSRF-Ausgabe war, die es verbot, eine Anfrage an Twilio zu stellen. Ich habe crsf_exempt dafür verwendet. Es funktioniert jetzt. Obwohl ich jetzt nicht auf meine Sitzungsvariable zugreifen kann .. aber ich denke, ich werde einen Weg finden, das zu tun. Vielen Dank für Ihre Zeit und Hilfe. – Shagun