Wie durch Benutzer von Facebook Messenger Bot durch Dialog Flow (API.AI) gesendet images / Anhänge zu bekommen?

stimmen
1

Ich habe Chabot angetrieben durch Dialog Flow (API.AI), die Benutzer Bilder senden erfordert.

Ich weiß, dass, wenn der Benutzer klickt auf der Schaltfläche in Messenger Ersten Schritten (während eines Gesprächs mit dem Bot Start) eine Absicht in Dialog Flow (API.AI) mit WELCOME / FACEBOOK_WELCOME Ereignisse ausgelöst werden.

Wenn der Benutzer einfache Textnachricht sendet mit einer Absicht in Dialog Flow (API.AI) sagt, dass Text in Benutzern erhalten ausgelöst wird.

Mein Zweifel gibt es keine Absicht, in Dialog Flow (API.AI), die ausgelöst wird, wenn ein Benutzer ein Bild als Befestigung an die Bot sendet oder gibt es eine Methode, die Art von Funktionalität zu erreichen.

Bitte helfen Sie mir mit diesem

Danke im Voraus

Veröffentlicht am 22/10/2017 um 17:54
quelle vom benutzer
In anderen Sprachen...                            


4 antworten

stimmen
2

Geben Sie hier image descriptionVerwenden FACEBOOK_MEDIA in Ereignis Abschnitt jegliche Absicht in DialogFlow (API.AI). Nun , wenn Benutzer lädt ein Bild zu dem Bot, die Absicht , die enthält FACEBOOK_MEDIA in seinem Ereignis Abschnitt erhalten ausgelöst und Sie werden eine Nutzlast erhalten , die das Bild enthält URL für Sie Webhook.

Beantwortet am 25/10/2017 um 15:01
quelle vom benutzer

stimmen
3

Unten ist die Antwort, die ich, wenn ich ein Bild als Anlage auf Facebook Messenger laden. Ich benutzen dialogflow.com und integrierte meinen Webhook Handler in NodeJS mit AWS Lambda-Funktion, API-Gateway und AWS Cloudwatch-Protokollen. Sie können auch Webhook Anfrage und Druckprotokolle dienen. Schreiben console.log () hat mir sehr geholfen, das Objekt zu drucken, von facbook Boten geschickt zu unserem Webhook.

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

Sie werden -Ereignisobjekts url gedruckt in den Cloudwatch - Protokolle erhalten: Hier im Event - Objekt die 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"
}
Beantwortet am 20/04/2018 um 14:27
quelle vom benutzer

stimmen
0

Wenn WebhookClient in DialogFlow verwenden, können Sie Bild-URL wie diese:

const agent = new WebhookClient({ request, response });
const imageUrl = agent.request_.body.originalDetectIntentRequest.payload.data.message.attachments[0].payload.url;
Beantwortet am 03/06/2018 um 20:25
quelle vom benutzer

stimmen
0

Meine Lösung:

exports.imageFb = function imageFb (request, response){
    console.log(request.body.originalDetectIntentRequest.payload.data.message.attachments[0].payload.url);
}           
Beantwortet am 08/06/2018 um 22:17
quelle vom benutzer

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