如何使用 Twilio API 获取 whatsapp 的 GPS 共享位置?

How do you get the GPS shared location of whatsapp using the Twilio API?

我正在使用 Node JS + twilio API 从机器人获取 whatsapp 消息。 现在我正在尝试获取用户发送的 GPS 位置,但它没有出现在消息正文中,而在 SMS 版本中,它出现了。

//Import model
const WhatsappTwilio = require('../models/WhatsappModel');

exports.postWhatsapp = (req, res, next) => {
  const Body = req.body.Body;
  const From = req.body.From;
  const To = req.body.To;

  const whatsappTwilio = new WhatsappTwilio({
    Body: Body,
    From: From,
    To: To
  });
  let responseMsg = '';
  if (Body.includes('http://maps.google.com/maps')) {
    responseMsg ='Location received';
  } else {
    responseMsg ='Error, could not get location';
  }

  //Response through twilio whatsapp
  client.messages
    .create({
        body: responseMsg ,
        from: 'whatsapp:' + To,
        to: 'whatsapp:' + From
    })
    .then(message => console.log(message.sid));
};

这是处理 whatsapp 机器人的控制器,在 SMS 版本中它可以工作,但在 whatsapp 版本中它不能。

如果 "Location" 附加到 Whatsapp 消息,它将出现在 POST 请求参数中,您可以使用类似的方式获取其属性你如何得到消息的正文。

if (req.body.Latitude && req.body.Longitude) {
  console.log('Whatsapp location received...');
  console.log(req.body.Latitude + ', ' + req.body.Longitude);

}

地址也可能存在,您可以通过 req.body.Address 获得它。