iPhone "Send My Current Location" 到 Twilio



我有一个Webhook,可以处理发送给我的Twilio号码的任何SMS消息。但是,此Webhook仅在消息中有文本(GET请求中有一个主体(才能起作用。

如果是位置消息,是否可以解析消息?例如如果我将当前位置发送到我的Twilio号码,并将此消息重定向到Webhook,我可以检索该位置吗?

如果我在iPhone上发送当前位置,这就是我的网络钩收到的内容:

at=info method=GET path="/sms/?ToCountry=US&MediaContentType0=text/x-vcard&ToState=NJ&SmsMessageSid=MMde62b3369705a8f65f18abe5b7387c2b&NumMedia=1&ToCity=NEWARK&FromZip=07920&SmsSid=MMde62b3369705a8f65f18abe5b7387c2b&FromState=NJ&SmsStatus=received&FromCity=SOMERVILLE&Body=&FromCountry=US&To=%2B18627019482&ToZip=07102&NumSegments=1&MessageSid=MMde62b3369705a8f65f18abe5b7387c2b&AccountSid=ACe72df68a68db79d9a4ac6248df6e981e&From=%2B19083925806&MediaUrl0=https://api.twilio.com/2010-04-01/Accounts/ACe72df68a68db79d9a4ac6248df6e981e/Messages/MMde62b3369705a8f65f18abe5b7387c2b/Media/MEcd56717ce17f3a320b06c4ee11df2243&ApiVersion=2010-04-01"

进行比较,这是一个普通的短信:

at=info method=GET path="/sms/?ToCountry=US&ToState=NJ&SmsMessageSid=SM4767dabb915fae749c7d5b59d6f655a2&NumMedia=0&ToCity=NEWARK&FromZip=07920&SmsSid=SM4767dabb915fae749c7d5b59d6f655a2&FromState=NJ&SmsStatus=received&FromCity=SOMERVILLE&Body=Denver+E+union&FromCountry=US&To=%2B18627019482&ToZip=07102&NumSegments=1&MessageSid=SM4767dabb915fae749c7d5b59d6f655a2&AccountSid=ACe72df68a68db79d9a4ac6248df6e981e&From=%2B19083925806&ApiVersion=2010-04-01"

在普通的SMS消息中,我可以解析Body=Denver+E+union以获取消息,但是我不确定您是否可以对位置消息的内容做任何事情。

如果我无法获得位置,我可以发送可放松位置的其他一些简单方法?

我通过创建一个使用HTML5地理位置函数的基本网页来解决类似的问题。然后,它通过Ajax提交坐标。

我的服务器地理编码员工位置,计算下一个工作的旅行时间,并使用Twilio API向客户发送SMS,并向客户发送SMS。

,您可以完全绕过Twilio,并让您的服务器直接向您的Webhook发出请求,甚至通过AJAX调用,如果它全部在同一域上。我猜这一切都取决于您要实现的目标。

twilio开发人员在这里。

正如Devin在评论中指出的那样,该位置已作为邮件附带的VCARD发送。在请求中为MediaUrl0的URL链接到看起来像这样的VCARD:

BEGIN:VCARD
VERSION:3.0
PRODID:-//Apple Inc.//iOS 10.3.2//EN
N:;YOUR_NAME’s Location;;;
FN:YOUR_NAME’s Location
item1.URL;type=pref:http://maps.apple.com/?ll=39.576254,-104.865774&q=39.576254,-104.865774
item1.X-ABLabel:map url
END:VCARD

您可以看到,这带有一个Apple Maps URL,这不是最有用的。但是,您还可以看到URL中包含位置的纬度和经度。您可以想象可以解析此URL并提取查询参数以获取位置。正如Devin指出的那样,这很可能会在设备之间发生变化。您可能需要使用一些不同的选项进行测试以确保这是可扩展的。

让我知道这是否有帮助。

最新更新