Dans Facebook Messenger, une icône permet à l'utilisateur d'envoyer ses coordonnées géographiques.
Est-ce que ceci est disponible sur la plateforme Facebook Messenger, c'est-à-dire que si un utilisateur m'envoie son emplacement, mon Chatbot y a-t-il accès? Si c'est le cas, comment cela se fait-il, car je ne peux pas le voir dans la réponse de mon compte Webhook.
Vous obtenez l'emplacement en pièce jointe dans un message. Voir échantillon ci-dessous:
{ 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] } ] }
À partir de la charge utile, vous pouvez accéder à la latitude et à la longitude en utilisant:
lat = event.message.attachments[0].payload.coordinates.lat
lng = event.message.attachments[0].payload.coordinates.long
Oui, l'emplacement sera envoyé en pièce jointe dans le message. Si vous vous référez à l'exemple de code donné dans la documentation de la plate-forme facebook messenger, le correctif peut être résolu comme suit .... (veuillez vous reporter au code complet ici https://developers.facebook.com/docs/messenger-platform /démarrage rapide )
dans la section else
else if (messageAttachments) {
console.log(messageAttachments[0].payload.coordinates.lat); //gives you lat
console.log(messageAttachments[0].payload.coordinates.long); // gives you long
}
Il y a un bug pour l'instant sur la localisation de certains utilisateurs.
Lorsque mes utilisateurs partagent leur emplacement dans facebook-messenger-bot;
Bien que je puisse obtenir la localisation des utilisateurs comme ci-dessous la réponse;
{ 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]
} ] }
Mais ne peut pas obtenir l'emplacement de certains autres utilisateurs comme ci-dessous la réponse;
{
{ mid: 'mid.$cAAD53Ka90kBmfY23q1gTEdy6rrmW', seq: 19104}
}
L'équipe Facebook travaillant toujours sur ce bogue, voici le lien si vous souhaitez parcourir: https://developers.facebook.com/bugs/160926314660178/