Чат-бот Facebook Messenger как мне собирать данные о географическом местоположении пользователей, которые они отправляют?


В Facebook Messenger есть значок, позволяющий пользователю отправлять свои географические координаты.

Location Sent through Facebook Messenger

Доступно ли это на платформе Facebook Messenger, т.Е. Если пользователь отправляет мне свое местоположение, имеет ли мой чат-бот доступ к нему? Если да, то как это делается, потому что я не вижу этого в ответе на своем веб-крючке.

Author: Lee Woodman, 2016-05-17

3 answers

Вы получаете местоположение в виде вложения в сообщении. Смотрите пример ниже:

{ mid: 'mid.1463464074086:96b149e1a047e47842',
  seq: 2076,
  attachments: 
    [ { title: 'Anupam\'s Location',
   url: 'https://www.facebook.com/l.php?u=https%3A%2F%2Fwww.bing.com%2Fmaps%2Fdefault.aspx%3Fv%3D2%26pc%3DFACEBK%26mid%3D8100%26where1%3D19.120002%252C%2B72.863715%26FORM%3DFBKPL1%26mkt%3Den-US&h=AAQH523sr&s=1&enc=AZNmEBjv3zHHm0_dYnEIC6j7EDsJNt8PZRZZyaXbIZ6VzjPsQUOOaMIPGtXFH17CevUiNK0_K594CgDQHAMQSru7uS_jjbkxojBWNwBnncqzaw',
   type: 'location',
   payload: [Object] } ] }

Из полезной нагрузки вы можете получить доступ к широте и долготе, используя:

lat = event.message.attachments[0].payload.coordinates.lat
lng = event.message.attachments[0].payload.coordinates.long
 21
Author: Anupam Mohanty, 2016-05-18 06:42:12

Да, местоположение будет отправлено в виде вложения в сообщении. Если вы ссылаетесь на пример кода, приведенный в документации платформы facebook messenger, исправление можно выполнить следующим образом.... (пожалуйста, ознакомьтесь с полным кодом здесь https://developers.facebook.com/docs/messenger-platform/quickstart)

В разделе остальное

else if (messageAttachments) {

              console.log(messageAttachments[0].payload.coordinates.lat); //gives you lat

              console.log(messageAttachments[0].payload.coordinates.long); // gives you long
           }
 1
Author: Abhishek bv, 2016-10-14 16:30:44

На данный момент существует ошибка в получении местоположения некоторых пользователей.

Когда мои пользователи делятся своим местоположением в facebook-messenger-боте;

В то время как я могу получить местоположение пользователей, как показано ниже, ответ;

    { mid: 'mid.1463464074086:96b149e1a047e47842',
      seq: 2076,
      attachments: 
        [ { title: 'Fatih\'s Location',
       url: 'https://www.facebook.com/l.php?u=https%3A%2F%2Fwww.bing.com%2Fmaps%..',
       type: 'location',
       payload: [Object] 
    } ] }

Но не могу узнать местоположение некоторых других пользователей, как показано ниже;

   { 
    { mid: 'mid.$cAAD53Ka90kBmfY23q1gTEdy6rrmW', seq: 19104}
   }

Команда Facebook все еще работает над этой ошибкой, вот ссылка, если вы хотите просматривать: https://developers.facebook.com/bugs/160926314660178/

 0
Author: fatihturgut, 2018-01-24 08:34:03