首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Twilio SMS Python -简单的发送消息

Twilio SMS Python -简单的发送消息
EN

Stack Overflow用户
提问于 2018-07-04 16:58:13
回答 2查看 1K关注 0票数 1

我是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)

每当我删除我认为与回复发送者的消息有关的行时,它似乎会中断一些我仍然需要的其他行。

任何帮助都非常感谢,谢谢!

EN

回答 2

Stack Overflow用户

发布于 2018-07-06 00:40:53

这是因为您在sms_reply函数中的输出将返回一个发送消息的TwiML。我认为从服务中得到一些反馈是很正常的。如果你不想用mapURL回复,你可以说一些像“谢谢”这样的话。

否则,您可以查看TwiML documentation,看看您还可以执行哪些其他操作。

票数 0
EN

Stack Overflow用户

发布于 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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51169705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档