Как отправить местоположение с платформы мессенджера Facebook?

Есть способ отправить мое местоположение в Facebook-мессенджер с мобильного клиента, но как я могу отправить какое-то местоположение от бота? (Messenger платформа API)

Когда я пытаюсь отправить похожую структуру от бота, я получаю сообщение об ошибке:(#100) Unsupported attachment type

Есть ли способ отправить мое местоположение от бота?

Пример полученного сообщения для бота:

{
   "object": "page",
   "entry": [{
       "id": "1719442148306048",
       "time": 1466780344978,
       "messaging": [{
           "sender": {"id": "123456789"},
           "recipient": {"id": "987654321"},
           "timestamp": 1466780344847,
           "message": {
               "mid": "mid.12345698875:c80066d69b6cee1779",
               "seq": 65,
               "attachments": [{
                   "title": "Dmitry's Location",
                   "url": "Link to bing.com through facebook redirect"
                   "type": "location",
                   "payload": {"coordinates": {"lat": 55, "long": 37}}
               }]
           }
       }]
   }]
}

Я пытаюсь отправить сообщение с вложением, как это:

               "attachment": {
                   "type": "location",
                   "payload": {"coordinates": {"lat": 55, "long": 37}}
               }
 ANinJa14 июл. 2016 г., 21:09
@ Gravity Добавление фигурных скобок в нем не работает, мы не можем отправить местоположение как мессенджер, отправив нам без явного открытия, как описано ниже, я также проверил в документах на Facebook, но они не имеют никакого прикрепления типа местоположенияdevelopers.facebook.com/docs/messenger-platform/...
 Dmitry24 июн. 2016 г., 18:09
Да. Я редактировал вопрос.
 gravity24 июн. 2016 г., 18:13
"attachment" это массив внутри JSON. Обратите внимание на[ а также] инкапсуляция всех данных (type, а такжеpayload)? Попробуйте добавить[] скобки для обозначения начала и концаattachment и дайте нам знать, если это решило это?
 gravity24 июн. 2016 г., 18:02
Можете ли вы показать намминимальный воспроизводимый пример это означает, что вы отправляете сообщение с сохранением данных о местоположении?

Ответы на вопрос(2)

Дмитрий, спасибо за взлом! API FB немного изменился, вот что сработало для меня в разделе полезной нагрузки:

    payload = dict()
    payload['type'] = 'template'
    payload['text'] = dict(
        template_type="generic",
        elements=[
            dict(
                title='{venue} location',
                # subtitle='Test',
                image_url="https://maps.googleapis.com/maps/api/staticmap?size=764x400&center=" + lat + "," + long +
                          "&zoom=15&markers=" + lat + "," + long,  
                default_action=dict(
                    type="web_url",
                    url="http://maps.apple.com/maps?q=" + venue + "&ll=" + lat + "," + long +
                        "&z=15"
                )
            )  # buttons=[])
        ]
    )
 Marco Dufal09 апр. 2018 г., 00:51
Это тело запросаgeneric templates«S. Это побуждает мессенджера открытьgoogle maps для тебя? Я пытался использоватьurl button тело запроса, но оно открывает карты Google вwebview скорее что на родном приложении.
 a3.14_Infinity30 окт. 2017 г., 06:42
спасибо .. для тех, кто ищет примеры Java, есть java sdk с открытым исходным кодом для API Facebook, который называется restfb. А внутри restfb вы можете использовать объект GenericItemPayload, который может содержать Bubbles. И каждый пузырь может содержать - image_url, item_url и title.
Решение Вопроса

Есть обходной путь. Мы можем отправить общий шаблон со статическим изображением карты и URL в динамический. Для приложения родной карты iOS мы можем использовать адресhttp://maps.apple.com/maps (который перенаправляет всех пользователей не iOS на Карты Google с теми же параметрами). На Android открывается приложение Google Maps.

{
    "recipient": {"id": "132456"},
    "message": {
        "attachment": {
            "type": "template",
            "payload": {
                "template_type": "generic",
                "elements": {
                    "element": {
                        "title": "Your current location",
                        "image_url": "https:\/\/maps.googleapis.com\/maps\/api\/staticmap?size=764x400&center="+lat+","+long+"&zoom=25&markers="+lat+","+long,
                        "item_url": "http:\/\/maps.apple.com\/maps?q="+lat+","+long+"&z=16"
                    }
                }
            }
        }
    }
}
 Marco Dufal09 апр. 2018 г., 02:21
Удалось ли вам в настоящее время открыть родные приложения (карты Google или карты Apple) из мессенджера?

Ваш ответ на вопрос