我有一个webhook,可以处理任何发送到我Twilio号码的短信。但是,这个webhook只有在消息中有文本时才起作用(GET请求中将有一个主体)。在
如果消息是位置消息,是否可以对其进行解析?e、 如果我把我当前的位置发送到我的Twilio号码,它将这个消息作为一个GET请求重定向到webhook,我可以检索到那个位置吗?在
如果我在iPhone上发送我的当前位置,webhook会收到以下信息:
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
来获取消息,但我不确定您是否可以对位置消息的内容做任何操作。在
如果我不能得到位置,还有什么其他简单的方法可以发送一个可解析的位置?在
Twilio开发者布道者。在
正如Devin在评论中指出的,这个位置已经作为附在邮件中的Vcard发送了。请求中的URL作为
MediaUrl0
,链接到一个Vcard,如下所示:如您所见,它附带了一个applemaps的URL,这并不是最有用的东西。但是,您还可以看到URL中包含了您所在位置的经纬度。可以想象,您可以解析这个URL并提取查询参数来获取位置。但正如Devin所指出的,这可能会随着设备的不同而改变。您可能需要使用一些不同的选项进行测试,以确保这是可伸缩的。在
如果有什么帮助,请告诉我。在
我解决了一个类似的问题,创建了一个基本的网页,使用HTML5地理定位功能来获取电话的lat/lng。然后通过AJAX将坐标提交给php脚本。在
我的服务器对员工的位置进行地理编码,计算到下一个工作的旅行时间,并使用Twilio API向客户发送一条带有ETA信息的短消息。在
您可以完全绕过Twilio,让服务器直接向webhook发出请求,如果请求都在同一个域中,甚至可以通过AJAX调用。我想,一切都取决于你想达到什么目的。在
相关问题 更多 >
编程相关推荐