Подтвердить что ты не робот

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

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

Местоположение, отправленное через Facebook Messenger

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

4b9b3361

Ответ 1

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

{ mid: 'mid.1463464074086:96b149e1a047e47842',
  seq: 2076,
  attachments: 
    [ { title: 'Anupam\ 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

Ответ 2

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

в разделе else

else if (messageAttachments) {

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

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

Ответ 3

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

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

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

    { mid: 'mid.1463464074086:96b149e1a047e47842',
      seq: 2076,
      attachments: 
        [ { title: 'Fatih\ 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 Team по-прежнему работает над этой ошибкой, это ссылка, если вы хотите просмотреть: https://developers.facebook.com/bugs/160926314660178/