Facebook Messenger Chatbot, как мне собрать географическое местоположение пользователей, которое они отправляют?
В Facebook Messenger есть значок, позволяющий пользователю отправлять свои гео-координаты.
![Местоположение, отправленное через Facebook Messenger]()
Доступно ли это на платформе Facebook Messenger, но если пользователь отправит мне свое местоположение, у моего Чатбота есть доступ к нему? Если да, то как это делается, потому что я не вижу его в ответе в своем веб-кадре.
Ответы
Ответ 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/