it-swarm.com.ru

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

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

 Location Sent through Facebook Messenger

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

20
Lee Woodman

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

{ 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
Anupam Mohanty

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

в остальном разделе

else if (messageAttachments) {

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

              console.log(messageAttachments[0].payload.coordinates.long); // gives you long
           }
1
Abhishek bv

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

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

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

    { 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
fatihturgut