在Facebook Messenger中有一個圖標允許用戶發送他們的地理座標。Facebook Messenger Chatbot如何收集他們發送的用戶地理位置?
這是可用的Facebook Messenger平臺上,如果用戶發送我自己的位置沒有我的聊天機器人訪問它尚未即?如果是的話,它是如何完成的,因爲我在webhook的響應中看不到它。
在Facebook Messenger中有一個圖標允許用戶發送他們的地理座標。Facebook Messenger Chatbot如何收集他們發送的用戶地理位置?
這是可用的Facebook Messenger平臺上,如果用戶發送我自己的位置沒有我的聊天機器人訪問它尚未即?如果是的話,它是如何完成的,因爲我在webhook的響應中看不到它。
您將郵件中的位置作爲附件。見下文樣品:
{ 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平臺文檔中給出的示例代碼修復可以做如下....在其他部分
else if (messageAttachments) {
console.log(messageAttachments[0].payload.coordinates.lat); //gives you lat
console.log(messageAttachments[0].payload.coordinates.long); // gives you long
}
(請在這裏參閱完整的代碼https://developers.facebook.com/docs/messenger-platform/quickstart)
現在有一個關於獲取用戶位置的錯誤。
當我的用戶在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/
擁有的Facebook最近纔開始允許在響應這個信息,因爲我已經研究之前的位置信息除了mid等之外沒有其他的東西。我是否需要任何特定的權限才能得到它? –
我過去25天一直在使用它。嘗試記錄event.message.attachments [0] .payload –
你是對的!我相信我已經嘗試了幾次,但是有效載荷中沒有任何東西。好吧。感謝您的幫助。 –