我正在构建一个Node.js应用程序,该应用程序通过Twilio从WhatsApp接收消息。发送文本消息不是问题,但是当我尝试从用户WhatsApp帐户发送当前位置时,在发送到服务器的请求对象中找不到坐标。
这就是我正在查看从Twilio发送到应用程序的内容的原因。
app.post('/incoming', (req, res) => {
var incomingMessage = req.body.Body;
console.log(incomingMessage); });
当我与应用共享我的当前位置时,请求正文为空。
任何人都可以对此进行阐明或解释WhatsApp如何在应用程序内共享用户位置吗?
谢谢。
答案 0 :(得分:2)
这里是Twilio开发人员的传播者。
Twilio API for WhatsApp当前不支持发送或接收位置坐标。
答案 1 :(得分:0)
目前可以将某个位置发送给用户,但您无法直接通过twilio whatsapp api获取用户位置。 https://www.twilio.com/blog/send-location-details-whatsapp-node-js。
答案 2 :(得分:0)
这里说有可能在人体上接收位置数据:https://www.twilio.com/docs/whatsapp/api#location-messages-with-whatsapp
您还可以使用WhatsApp的Twilio API接收入站位置消息。位置目前不会在Twilio控制台中显示。但是,您的Web应用程序将在Twilio发送的POST请求中接收位置数据。 以下是包含位置信息的有效负载示例。请注意,入站邮件不需要
Body={name}
参数。
Latitude=37.7879277&Longitude=-122.3937508&Address=375+Beale+St%2C+San+Francisco%2C+CA+94105&SmsMessageSid=SMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&NumMedia=0&SmsSid=SMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&Label=Twilio+Inc&Body=&To=whatsapp%3A%2B14155238886&NumSegments=1&MessageSid=SMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&AccountSid=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&From=whatsapp%3A%2B12345678900&ApiVersion=2010-04-01
答案 3 :(得分:0)
使用以下代码更新代码:
var incomingMessage = req.body;
Twilio支持发送和接收位置。以下是用户从其WhatsApp发送到Twilio WhatsApp时位置的响应。
{
"Latitude": "24.7969323",
"Longitude": "46.6301663",
"SmsMessageSid": "xxxxxxxxxxxxxxxxxxxxxx",
"NumMedia": "0",
"SmsSid": "xxxxxxxxxxxxxxxxxxxxxx",
"SmsStatus": "received",
"Body": "",
"To": "whatsapp:+1415xxxxxxx",
"NumSegments": "1",
"MessageSid": "xxxxxxxxxxxxxxxxxxxxxx",
"AccountSid": "xxxxxxxxxxxxxxxxxxxxxx",
"From": "whatsapp:+966xxxxxxxxxxxxxxxxxxxxxx",
"ApiVersion": "2010-04-01"
}
在这里您可以看到用户的纬度和经度。
答案 4 :(得分:-1)
转到“电话”菜单。
找到WhatsApp。
点击WhatsApp图标。
请确保您在“聊天”标签上。
在您要共享实时位置的“组”或“个人聊天”上轻按。
点击“附加图标”。
点击“位置”。
点击“共享实时位置
答案 5 :(得分:-1)
仅提示用户打开包含捕获用户位置的Javascript的公司网页 您可以在这里阅读更多详细信息: https://ma-zamroni.medium.com/workaround-for-whatsapp-business-api-to-get-customers-current-location-392c63b4b365