Прямо сейчас у меня есть программа, которая получает SMS-сообщение, публикует текст сообщения, а затем пересылает SMS на другой номер. Однако я получаю сообщение об ошибке от Twilio о «Проверке схемы». Код работает именно так, как должен, но я хотел бы исправить ошибку.
Изначально у меня был следующий код:
import RUAlertsTwilioWEBSERVER
import twilio.twiml
import time
import praw
from flask import Flask, request, redirect
from twilio.rest import TwilioRestClient
from passwords import *
from twilio import twiml
def login():
r = praw.Reddit(app_ua)
r.set_oauth_app_info(app_id, app_secret, app_uri)
r.refresh_access_information(app_refresh)
return r
r=RUAlertsTwilioWEBSERVER.login()
client = TwilioRestClient(account_sid, auth_token)
app = Flask(__name__)
@app.route("/", methods=['GET', 'POST'])
def AlertService():
TheMessage=request.form.get("Body")
if (TheMessage != None):
print(TheMessage)
client.messages.create(to=ePhone,from_=tPhone,body=str(TheMessage))
r.submit(*submit to reddit code*)
return str(TheMessage)
if __name__ == "__main__":
app.run(debug=True, host="0.0.0.0")
Отладчик Twilio дает мне
Content is not allowed in prolog.
Warning - 12200
Schema validation warning
The provided XML does not conform to the Twilio Markup XML schema.
Я попытался получить XML, необходимый для сообщения, изменив свой код на следующий (только соответствующая часть)
@app.route("/", methods=['GET', 'POST'])
def AlertService():
TheMessage=request.form.get("Body")
if (TheMessage != None):
print(TheMessage)
resp = twiml.Response()
XML = resp.say(TheMessage)
client.messages.create(to=ePhone,from_=tPhone,body=XML)
r.submit(*submit to reddit code*)
return str(resp)
return str(TheMessage)
Этот код не работал, поэтому я изменил body=XML
на body=str(XML)
. Однако теперь он просто отправляет XML как тело, и я получаю сообщение об ошибке:
cvc-complex-type.2.4.a: Invalid content was found starting with element 'Say'. One of '{Sms, Message, Redirect}' is expected.
Warning - 12200
Schema validation warning
The provided XML does not conform to the Twilio Markup XML schema.
Как я могу это исправить?
client.messages.create(to=ePhone,from_=tPhone,body=TheMessage)
работает, но отладчик все равно выдает ошибки. 16.11.2016