2016-11-16 14 views
0

今私はSMSメッセージを受信し、メッセージの本文を投稿してから別の番号にSMSを転送するプログラムを持っています。しかし、私はTwilioから "Scheme validation"についてのエラーを受け取りました。コードは正確に機能するはずですが、エラーを修正したいと思います。Twilio/Python - 12200スキーマ検証の警告

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デバッガが私に与え、私は次のように私のコードを変更することにより、ポストのために必要なXMLを取得しようとしました Content is not allowed in prolog. Warning - 12200 Schema validation warning The provided XML does not conform to the Twilio Markup XML schema.

(関連のみ:

は当初、私は次のコードを持っていました一部)

@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=str(XML)body=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.

これを修正するにはどうすればよいですか?

答えて

0

ここにTwilio伝道者

<Say>は、メッセージリクエストURLに対するリクエストに応じて有効なTwiML動詞ではありません。音声要求に対してのみ有効です。

Twilioにテキストメッセージを送信した人にメッセージを返信したい場合は、<Message>動詞を使用します。

resp = twilio.twiml.Response() 
resp.message(message) 

また、新しい発信SMSメッセージのメッセージとしてTwiMLを送信しているようです。私はあなたがそれをBody paramだけで置き換えることができると思います。

client.messages.create(to=ePhone,from_=tPhone,body=TheMessage) 

希望します。

+0

申し訳ありませんが、私はこれについてはっきりしませんでした。 Twilioに送信されたSMS本体を別の3番目の番号(送信者またはTwilio番号ではない)に転送したいとします。 "say"を使用したときは、XMLフォーマットを取得するだけでした。 このコード 'client.messages.create(= ePhone、from_ = tPhone、body = TheMessage)'は動作しますが、まだデバッガからエラーが発生します。 –

+0

@DevinRader私の質問をチェックしていただけますか?ありがとうhttp://stackoverflow.com/questions/43367898/twilio-quick-start-project-is-not-working –

関連する問題