Hoe kan ik de locatie van Facebook Messenger-platform sturen?

stemmen
10

Er is een manier om mijn locatie facebook-messenger verzenden vanaf een mobiele client, maar hoe kan ik stuur een locatie uit een bot? (Messenger platform api)

Wanneer ik probeer om een ​​soortgelijke structuur van bot te sturen, krijg ik een foutmelding: (#100) Unsupported attachment type

Is er een manier om mijn locatie te verzenden van bot?

Voorbeeld ontvangen bericht naar bot:

{
   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}}
               }]
           }
       }]
   }]
}

Ik probeer stuur bericht met bijlage als volgt uit:

               attachment: {
                   type: location,
                   payload: {coordinates: {lat: 55, long: 37}}
               }
De vraag is gesteld op 24/06/2016 om 15:50
bron van user
In andere talen...                            


2 antwoorden

stemmen
22

Er is de tijdelijke oplossing. We kunnen generieke template sturen image vaste kaart en url dynamische met. Voor iOS inheemse kaart app kunnen we adres gebruiken http://maps.apple.com/maps (die alle niet iOS-gebruikers naar Google Maps omleidingen met dezelfde parameters). Op Android opent Google Maps-app.

{
    "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"
                    }
                }
            }
        }
    }
}
antwoordde op 07/07/2016 om 13:30
bron van user

stemmen
3

Dmitry, bedankt voor de hack! FB API is iets veranderd, hier is wat voor mij werkte in het payload gedeelte:

    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=[])
        ]
    )
antwoordde op 21/03/2017 om 10:47
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more