我是Twilio的新手,我成功地遵循了SMS Python Quickstart guide,并将两个位组合在一起,但现在有一些冗余代码,我似乎无法在不出错的情况下摆脱这些冗余代码。
我的Python代码从文本消息中获取坐标,将其转换为Google Maps链接,并将该链接发送到不同的电话号码。
但是,目前它也将此回复发送到原始发件人电话号码,因为这是原始指南中您设置的号码。
我只想让它将消息发送到指定的号码,而不是回复原始发件人。
run.py:
# /usr/bin/env python
# Download the twilio-python library from twilio.com/docs/libraries/python
from flask import Flask, request
from twilio.twiml.messaging_response import MessagingResponse
# Download the helper library from https://www.twilio.com/docs/python/install
from twilio.rest import Client
# Your Account Sid and Auth Token from twilio.com/console
account_sid = 'account_sid'
auth_token = 'auth_token'
client = Client(account_sid, auth_token)
app = Flask(__name__)
@app.route("/", methods=['GET', 'POST'])
def sms_reply():
messages = client.messages.list()
print(messages[0].body)
coord = messages[0].body
lat,lon = coord.split(":")
mapURL = "https://www.google.com/maps/search/?api=1&query=" + lat + "," + lon
message = client.messages.create(
body=mapURL,
from_='+442030954643',
to='+447445678954'
)
"""Respond to incoming messages with a friendly SMS."""
# Start our response
resp = MessagingResponse()
# Add a message
resp.message(mapURL)
return str(resp)
if __name__ == "__main__":
app.run(debug=True)
每当我删除我认为与回复发送者的消息有关的行时,它似乎会中断一些我仍然需要的其他行。
任何帮助都非常感谢,谢谢!
发布于 2018-07-06 00:40:53
这是因为您在sms_reply
函数中的输出将返回一个发送消息的TwiML。我认为从服务中得到一些反馈是很正常的。如果你不想用mapURL回复,你可以说一些像“谢谢”这样的话。
否则,您可以查看TwiML documentation,看看您还可以执行哪些其他操作。
发布于 2018-07-17 12:50:28
Twilio开发者的布道者在这里。
您不需要回复传入的消息,可以通过返回一个空的TwiML响应来避免这一点。
这里的一个额外优势是,您不必调用API来获取发送的最后一条消息的正文。它将在端点的POST请求参数中可用。您可以通过request.form
访问它们,因此可以在request.form['Body']
上使用Body参数。
尝试如下所示:
# /usr/bin/env python
# Download the twilio-python library from twilio.com/docs/libraries/python
from flask import Flask, request
from twilio.twiml.messaging_response import MessagingResponse
# Download the helper library from https://www.twilio.com/docs/python/install
from twilio.rest import Client
# Your Account Sid and Auth Token from twilio.com/console
account_sid = 'account_sid'
auth_token = 'auth_token'
client = Client(account_sid, auth_token)
app = Flask(__name__)
@app.route("/", methods=['GET', 'POST'])
def sms_reply():
coord = request.form['Body']
lat,lon = coord.split(":")
mapURL = "https://www.google.com/maps/search/?api=1&query=" + lat + "," + lon
message = client.messages.create(
body=mapURL,
from_='+442030954643',
to='+447445678954'
)
# Start our empty response
resp = MessagingResponse()
return str(resp)
if __name__ == "__main__":
app.run(debug=True)
https://stackoverflow.com/questions/51169705
复制相似问题