为什么我得到错误AttributeError:'模块'对象在我的短信应用程序中没有与Twilio接口的属性“响应”?
问题描述:
同样在ngrok中,当尝试使用twilio发出发布请求时,会出现内部服务器错误500。为什么我得到错误AttributeError:'模块'对象在我的短信应用程序中没有与Twilio接口的属性“响应”?
这里就是我觉得有一个问题我的代码段:
from flask import Flask, request
from twilio import twiml
import wolframalpha
import wikipedia
app = Flask(__name__)
wolf = wolframalpha.Client(wolfram_app_id)
@app.route('/', methods=['POST'])
def sms():
message_body = request.form['Body']
resp = twiml.Response()
replyText = getReply(message_body)
resp.message('Hi\n\n' + replyText)
return str(resp)
我已经更新ngrok,蟒蛇,twilio和瓶的所有最新版本。 我也按照所有步骤来激活virtualenv。
答
Twilio开发人员在这里传播。
如果您使用的是最新版本的Twilio Python module,那么没有Response
方法。相反,由于您正在回复邮件,因此您需要改用MessagingResponse
。
尝试以下操作:
from flask import Flask, request
from twilio.twiml.messaging_response import Message, MessagingResponse
import wolframalpha
import wikipedia
app = Flask(__name__)
wolf = wolframalpha.Client(wolfram_app_id)
@app.route('/', methods=['POST'])
def sms():
message_body = request.form['Body']
resp = MessagingResponse()
replyText = getReply(message_body)
resp.message('Hi\n\n' + replyText)
return str(resp)
+0
这工作!非常感谢你。 – user8273233
+0
没问题!与您的其他应用程序祝好运。 – philnash
你能尝试运行'这python'?您所遵循的[Make:project](http://makezine.com/projects/sms-bot/)表示使用的是什么版本的Python并不重要,但我有一种感觉,那就是它需要2.7根据[Twilio文档](https://www.twilio.com/docs/quickstart/python/twiml/say-response#let-twilio-find-your-server)。 (我相信Python3中可能不支持'twiml.Response()',你似乎说你的Python是最新版本,所以这可能是冲突)。 – cosinepenguin
这次我实际上使用python版本2.7重新运行程序,但我仍然得到相同的错误。我知道我使用2.7,因为它显示在终端上。另外,我尝试使用简单的Python程序向我的手机发送文本,并通过twilio进行工作。但是,包含更多代码行的pyhton文件:维基百科和wolfram会收到一条消息并将其发送回去似乎没有任何作用。 – user8273233
你能上传可用的代码(发送文本到你的手机)吗?在问题代码中调用Response的方式可能存在问题。 – cosinepenguin