web-dev-qa-db-fra.com

Facebook Messenger Chatbot comment collecter la géolocalisation des utilisateurs qu'ils envoient?

Dans Facebook Messenger, une icône permet à l'utilisateur d'envoyer ses coordonnées géographiques. 

 Location Sent through Facebook Messenger

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.

20
Lee Woodman

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

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
           }
1
Abhishek bv

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/

0
fatihturgut