web-dev-qa-db-ja.com

Facebook Messenger Chatbot送信するユーザーの地理的位置を収集するにはどうすればよいですか?

Facebook Messengerには、ユーザーが地理座標を送信できるアイコンがあります。

Location Sent through Facebook Messenger

これはFacebook Messengerプラットフォームでまだ利用可能ですか?つまり、ユーザーが私に場所を送信した場合、私のChatbotはそれにアクセスできますか?もしそうなら、私は私のウェブフックの応答でそれを見ることができないので、それはどのように行われますか。

20
Lee Woodman

メッセージの添付ファイルとして場所を取得します。以下のサンプルを参照してください。

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

はい、場所はメッセージの添付ファイルとして送信されます。 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
           }
1
Abhishek bv

今のところ、ユーザーの位置の一部を取得することに関してバグがあります。

ユーザーがfacebook-messenger-botで自分の位置を共有するとき;

以下のようにユーザーの位置を取得できます

    { 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/

0
fatihturgut