Чат-бот Facebook Messenger как мне собирать данные о географическом местоположении пользователей, которые они отправляют?
В Facebook Messenger есть значок, позволяющий пользователю отправлять свои географические координаты.
Доступно ли это на платформе Facebook Messenger, т.Е. Если пользователь отправляет мне свое местоположение, имеет ли мой чат-бот доступ к нему? Если да, то как это делается, потому что я не вижу этого в ответе на своем веб-крючке.
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
Да, местоположение будет отправлено в виде вложения в сообщении. Если вы ссылаетесь на пример кода, приведенный в документации платформы 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
}
На данный момент существует ошибка в получении местоположения некоторых пользователей.
Когда мои пользователи делятся своим местоположением в 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/