Come ottenere immagini / allegati inviati dall'utente da Facebook Messenger bot attraverso il dialogo di flusso (API.AI)?

voti
1

Ho Chabot alimentato da finestra flusso (API.AI) che richiede all'utente di inviare immagini.

So che quando l'utente fa clic sul pulsante Per iniziare a Messenger (durante l'avvio di una conversazione con il bot) un intento nella finestra di dialogo di flusso (API.AI) con WELCOME evento / FACEBOOK_WELCOME andranno innescato.

Quando l'utente invia messaggio di testo semplice un intento nella finestra di dialogo di flusso (API.AI) con quel testo in utente dice andranno innescato.

Il mio dubbio non v'è alcun intento nella finestra di dialogo di flusso (API.AI) che viene attivato quando un utente invia un'immagine come allegato al bot o c'è qualche metodo per raggiungere questo tipo di funzionalità.

Vi prego di aiutare con questo

Grazie in anticipo

È pubblicato 22/10/2017 alle 17:54
fonte dall'utente
In altre lingue...                            


4 risposte

voti
2

entrare descrizione dell'immagine quiUtilizzare FACEBOOK_MEDIA nella sezione caso di intenti DialogFlow (API.AI). Ora ogni volta che utente carica un'immagine al bot, l'intento che contiene FACEBOOK_MEDIA nella sua sezione dell'evento sarà ottenere innescato e si otterrà un carico utile che contiene l'immagine URL a voi WebHook.

Risposto il 25/10/2017 a 15:01
fonte dall'utente

voti
3

Qui di seguito è la risposta che ottengo quando ho caricare un'immagine come allegato su facebook messenger. Ho usato dialogflow.com e integrato mio gestore webhook in nodejs utilizzando la funzione AWS Lambda, gateway API e AWS CloudWatch Logs. Si può anche servire webhook richiesta e stampare i registri. Scrivendo console.log () veramente aiutato per stampare l'oggetto inviato da Facbook messaggero al nostro webhook.

exports.handler = (event, context, callback) => {
  console.log(event);
  console.log(event.originalRequest.data.message.attachments[0].payload.url);
};

Otterrete url oggetto evento stampata nei registri CloudWatch: Qui, nel caso in oggetto l'URL è: https://scontent-ort2-2.xx.fbcdn.net/v/t34.18173-12/30776728_1969968496378460_1504397895_n.png?_nc_cat = 0 & _nc_ad = ZM & _nc_cid = 0 & oh = 4aad83994a5501d1c50f7e2e6c7d50ea & OE = 5ADBEF72

{
    "originalRequest": {
        "source": "facebook",
        "data": {
            "sender": {
                "id": "2037600292946778"
            },
            "recipient": {
                "id": "592499574453638"
            },
            "message": {
                "attachments": [
                    {
                        "payload": {
                            "url": "https://scontent-ort2-2.xx.fbcdn.net/v/t34.18173-12/30776728_1969968496378460_1504397895_n.png?_nc_cat=0&_nc_ad=z-m&_nc_cid=0&oh=4aad83994a5501d1c50f7e2e6c7d50ea&oe=5ADBEF72"
                        },
                        "type": "image"
                    }
                ],
                "mid": "mid.$cAAJAFU4_rqppFAhJFli4sL-nvI2y",
                "seq": 274
            },
            "timestamp": 1524222785882
        }
    },
    "id": "323b2069-1fb3-4643-9cab-a36562286069",
    "timestamp": "2018-04-20T11:13:06.117Z",
    "lang": "en",
    "result": {
        "source": "agent",
        "resolvedQuery": "FACEBOOK_MEDIA",
        "speech": "",
        "action": "",
        "actionIncomplete": false,
        "parameters": {},
        "contexts": [
            {
                "name": "facebook_media",
                "parameters": {},
                "lifespan": 0
            },
            {
                "name": "generic",
                "parameters": {
                    "facebook_sender_id": "2037600292946778"
                },
                "lifespan": 4
            }
        ],
        "metadata": {
            "intentId": "52d18e01-1ff2-4e35-af42-bc2de65fa38b",
            "webhookUsed": "true",
            "webhookForSlotFillingUsed": "false",
            "intentName": "attachment intent"
        },
        "fulfillment": {
            "speech": "Received an image",
            "messages": [
                {
                    "type": 0,
                    "speech": "Received an image"
                }
            ]
        },
        "score": 1
    },
    "status": {
        "code": 200,
        "errorType": "success",
        "webhookTimedOut": false
    },
    "sessionId": "d815740b-4f6d-432b-991d-c1125ceb2665"
}
Risposto il 20/04/2018 a 14:27
fonte dall'utente

voti
0

Quando si utilizza WebhookClient in DialogFlow, è possibile ottenere un'immagine URL simile a questo:

const agent = new WebhookClient({ request, response });
const imageUrl = agent.request_.body.originalDetectIntentRequest.payload.data.message.attachments[0].payload.url;
Risposto il 03/06/2018 a 20:25
fonte dall'utente

voti
0

La mia soluzione:

exports.imageFb = function imageFb (request, response){
    console.log(request.body.originalDetectIntentRequest.payload.data.message.attachments[0].payload.url);
}           
Risposto il 08/06/2018 a 22:17
fonte dall'utente

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