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

时间:2020-02-03 01:08:57

标签: twilio twilio-api twilio-programmable-chat

我正在使用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版本中则无效。

1 个答案:

答案 0 :(得分:0)

如果将“位置” 附加到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来获取它。