gpt4 book ai didi

python - 使用 Twilio/Flask 转发 SMS 的模式验证警告

转载 作者:太空宇宙 更新时间:2023-11-04 05:20:01 26 4
gpt4 key购买 nike

我的代码接收传入的 SMS 文本消息,提取正文并将正文转发到另一个号码。 (tPhone 是 Twilio 号码,ePhone 是我要转发消息的号码)

import twilio.twiml
from flask import Flask, request, redirect
from twilio.rest import TwilioRestClient
from passwords import *

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=TheMessage)
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.

如何修复发送到 Twilio 的 XML?


编辑:我发现的一些东西。即使我将“TheMessage”设置为预定义的字符串(例如 TheMessage="hello"),我也会从 Twilio 收到相同的错误。

此外,如果我尝试生成并发送 XML,我仍然会遇到同样的错误。

    resp = twiml.Response()
XML = resp.message(TheMessage)
print(XML)
client.messages.create(body=str(XML),to=ePhone,from_=tPhone)

如果我尝试 body=XML,代码将无法发送,如果我尝试 body=str(XML),它只会将 XML 作为纯文本发送。

最佳答案

此处为 Twilio 开发人员布道师。

目前您似乎正在使用 REST API to forward the SMS message .虽然您可以这样做,但使用起来更容易 TwiML使用 <Message> verb 在请求中执行此操作.在您的第二个示例中,您似乎在尝试同时使用 TwiML 和 REST API,但这行不通。

因此,您只想建立一个 TwiML 响应,如果有传入消息,则将消息添加到其中,然后使用 <Message> attributes to and from 将其转发到您的电话号码。像这样:

import twilio.twiml
from flask import Flask, request, redirect
from passwords import *

app = Flask(__name__)

@app.route("/", methods=['GET', 'POST'])
def AlertService():
TheMessage=request.form.get("Body")
resp = twiml.Response()
if (TheMessage != None):
resp.message(TheMessage, to=ePhone)
return str(resp)

if __name__ == "__main__":
app.run(debug=True,host="0.0.0.0")

让我知道这是否有帮助。

关于python - 使用 Twilio/Flask 转发 SMS 的模式验证警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40646381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com