Twilioの開発者エバンジェリスト:
import requests
from django.views import View
from twilio.twiml.messaging_response import MessagingResponse, Media
from django.http import HttpResponse
class SMSWebhook(View):
def post(self, request):
twilio_out = MessagingResponse()
twil_in = request.POST
# Call database to determine recipient's number
scheduler_data = requests.post('my_server_url', data={'to': twil_in['To'], 'caller': twil_in['From']})
scheduler_in = scheduler_data.json()[0]
# check if it is a valid message
if scheduler_data.status_code == 200:
twilio_out.message(body=twil_in['Body'], to=scheduler_in['recipient'], from_=twil_in['To'])
if twil_in['NumMedia']:
for i in range(int(twil_in['NumMedia'])):
twilio_out.append(Media(twil_in['MediaUrl' + str(i)]))
else:
twilio_out.message('sms_default_message')
return HttpResponse(str(twilio_out), content_type='text/xml')
をそれが生成TwiMLはこのようなものです。
TwiMLを使用してMMSを送信する場合は、<Message>
の内部に<Body>
and <Media>
nounsを使用する必要があります。あなたの例では、<Media>
が<Message>
の外にあるようです。私は<Message>
への参照を保存し、それを直接<Media>
を追加する方法
if scheduler_data.status_code == 200:
message = twilio_out.message(to=scheduler_in['recipient'], from_=twil_in['To'])
message.append(Body(twil_in['Body']))
if twil_in['NumMedia']:
for i in range(int(twil_in['NumMedia'])):
message.append(Media(twil_in['MediaUrl' + str(i)]))
else:
注:
はおそらく、この代わりのような何かをしたいです。
これがまったく役に立ったら教えてください。