Python iPhone“;“发送我的当前位置”;到黄昏

Python iPhone“;“发送我的当前位置”;到黄昏,python,iphone,location,twilio,Python,Iphone,Location,Twilio,我有一个webhook,可以处理发送到我Twilio号码的任何短信。但是,此webhook仅在消息中有文本时有效(GET请求中将有一个正文) 如果消息是位置消息,是否可以对其进行解析?e、 g.如果我将当前位置发送到我的Twilio号码,它会将此消息作为GET请求重定向到webhook,我是否可能检索该位置 如果我在iPhone上发送当前位置,我的webhook会收到以下信息: at=info方法=获取路径="/sms/?ToCountry=US&MediaContentType0=text/x

我有一个webhook,可以处理发送到我Twilio号码的任何短信。但是,此webhook仅在消息中有文本时有效(GET请求中将有一个正文)

如果消息是位置消息,是否可以对其进行解析?e、 g.如果我将当前位置发送到我的Twilio号码,它会将此消息作为GET请求重定向到webhook,我是否可能检索该位置

如果我在iPhone上发送当前位置,我的webhook会收到以下信息:

at=info方法=获取路径="/sms/?ToCountry=US&MediaContentType0=text/x-vcard&ToState=NJ&SmsMessageSid=MMde62b3369705a8f65f18abe5b7387c2b&NumMedia=1&ToCity=NEWARK&FromZip=07920&SmsSid=MMde62b3369705a8f65f18abe5b7387c2b&FromState=NJ&SMSSStatus=received&FromCity=SOMERVILLE&Body=&FromCountry=US&To=US&To=2B18627019482&ToZip=07102&NumSegments=1&MessageSid=MMDE6265B735B738F738F738B8B8B738B8B8B738B7387c2b&AccountSid=ACE72DF68A68DB79D9A4 AC6248DF6E981E&From=%2B19083925806&MEDIARL0=https://api.twilio.com/2010-04-01/Accounts/ACe72df68a68db79d9a4ac6248df6e981e/Messages/MMde62b3369705a8f65f18abe5b7387c2b/Media/MEcd56717ce17f3a320b06c4ee11df2243&ApiVersion=2010-04-01“

作为比较,这里有一条普通的短信:

at=info方法=获取路径=”/sms/?ToCountry=US&ToState=NJ&SmsMessageSid=SM4767dabb915fae749c7d5b59d6f655a2&NumMedia=0&ToCity=NEWARK&FromZip=07920&SmsSid=SM4767dabb915fae749c7d5b59d6f655a2&FromState=NJ&SMSSStatus=received&FromCity=SOMERVILLE&Body=Denver+E+union&FromCountry=US&To=US&To=18627019482&ToZip=07102&NumSegments=1&MessageSid=SM4767DABB655B655A2=D6B915B5B9A2&SMCSID=CE72DF68A68DB79D9A4 AC6248DF6E981E和From=%2B19083925806&ApiVersion=2010-04-01“

在普通的短信中,我可以解析出
Body=Denver+E+union
来获取信息,但我不确定你能对位置信息的内容做些什么


如果我无法获取位置,还有什么简单的方法可以发送可解析的位置?

我通过创建一个基本网页解决了类似的问题,该网页使用HTML5地理定位功能获取手机的lat/lng。然后,它通过AJAX将坐标提交给php脚本

我的服务器对员工的位置进行地理编码,计算到下一个工作的旅行时间,并使用Twilio API向客户发送包含ETA信息的短信


你可以完全绕过Twilio,让你的服务器直接向你的webhook发出请求,如果它都在同一个域上,甚至可以通过AJAX调用发出请求。我想这一切都取决于你想实现什么。

我通过创建一个基本网页解决了类似的问题,该网页使用HTML5地理定位功能获取手机的lat/lng。它en通过AJAX向php脚本提交坐标

我的服务器对员工的位置进行地理编码,计算到下一个工作的旅行时间,并使用Twilio API向客户发送包含ETA信息的短信


你可以完全绕过Twilio,让你的服务器直接向你的webhook发出请求,如果它都在同一个域上,甚至可以通过AJAX调用发出请求。我想这一切都取决于你试图实现的目标。

Twilio开发者布道者在这里

正如Devin在评论中指出的,该位置已作为附加到邮件的Vcard发送。请求中的URL作为
MediaUrl0
,链接到一个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指出的,这可能会随着设备的不同而发生变化。您可以可能需要使用一些不同的选项进行测试,以确保这是可伸缩的


让我知道这是否有帮助。

这里是Twilio开发者福音传道者

正如Devin在评论中指出的,该位置已作为附加到邮件的Vcard发送。请求中的URL作为
MediaUrl0
,链接到一个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指出的,这可能会随着设备的不同而发生变化。您可以可能需要使用一些不同的选项进行测试,以确保这是可伸缩的


让我知道这是否有帮助。

查看发送的参数,似乎有一张vcard被附加到传入的消息中。这可能是iphone发送数据的方式,因此要获取数据,您需要使用MediaUrl0参数中的URL下载vcard并解析该文件。我在尝试执行类似操作时的经验不同的手机操作系统甚至是操作系统版本都会“发送我的位置”“事情有不同的方式,但我所看到的没有一个像原始lat/long那样发送文本消息。查看正在发送的参数,似乎有一个vcard附加到传入消息上。这可能是iphone发送数据的方式,因此要获取数据,您需要使用MediaUrl0参数中的URL下载vcard并解析文件。我尝试做类似事情的经验是,不同的手机操作系统,甚至是操作系统版本,都以不同的方式发送“发送我的位置”信息,但我所看到的没有一个像文本信息那样发送原始的lat/long信息。