Comment obtenir des images / pièces jointes envoyées par l'utilisateur de bot messager Facebook via Dialog Flow (API.AI)?

voix
1

Je Chabot alimenté par Dialog Flow (API.AI) qui requiert que l'utilisateur d'envoyer des images.

Je sais que lorsque l'utilisateur clique sur le bouton Get créée à partir de (lors du démarrage d'une conversation avec le bot) une intention dans la boîte de dialogue de flux (API.AI) avec l'événement BIENVENUE / FACEBOOK_WELCOME se déclenchera.

Lorsque l'utilisateur envoie un message texte simple dans une intention de flux de dialogue (API.AI) avec ce texte dans l'utilisateur Says se déclenchera.

Mon doute est-il l'intention de flux de dialogue (API.AI) qui se déclenche lorsqu'un utilisateur envoie une image en pièce jointe au bot ou est-il une méthode pour réaliser ce genre de fonctionnalité.

S'il vous plait, j'ai besoin de votre aide avec ceci

Merci d'avance

Créé 22/10/2017 à 17:54
source utilisateur
Dans d'autres langues...                            


4 réponses

voix
2

entrez la description d'image iciUtilisation FACEBOOK_MEDIA en coupe d'événement selon l' une quelconque intention dans DialogFlow (API.AI). Maintenant , chaque fois que l' utilisateur télécharge une image au robot, l'intention qui contient FACEBOOK_MEDIA dans sa section d'événement se déclenchera et vous obtiendrez une charge utile qui contient l'image URL pour vous webhook.

Créé 25/10/2017 à 15:01
source utilisateur

voix
3

Ci-dessous la réponse que je reçois quand je télécharger une image en tant que pièce jointe sur le messager facebook. Je dialogflow.com et intégré mon gestionnaire de webhook dans nodejs en utilisant la fonction AWS Lambda, passerelle API et AWS CloudWatch journaux. Vous pouvez également servir webhook journaux de requêtes et d'impression. console.log () écrit vraiment aidé à imprimer l'objet envoyé par messager facbook à notre webhook.

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

Vous obtiendrez url objet événement imprimé dans les journaux CloudWatch: Ici , dans le cas objet l'URL est: 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"
}
Créé 20/04/2018 à 14:27
source utilisateur

voix
0

Lorsque vous utilisez WebhookClient dans DialogFlow, vous pouvez obtenir url d'image comme ceci:

const agent = new WebhookClient({ request, response });
const imageUrl = agent.request_.body.originalDetectIntentRequest.payload.data.message.attachments[0].payload.url;
Créé 03/06/2018 à 20:25
source utilisateur

voix
0

Ma solution:

exports.imageFb = function imageFb (request, response){
    console.log(request.body.originalDetectIntentRequest.payload.data.message.attachments[0].payload.url);
}           
Créé 08/06/2018 à 22:17
source utilisateur

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