Προσπαθώ να δημιουργήσει ένα chatbot Facebook με NodeJS, Express, και ενός διακομιστή Heroku.
Δημιούργησα webhook μου για Heroku και είχε επαληθευτεί και αποθηκευτεί από το facebook. Στη συνέχεια άρχισε να προσθέσετε κώδικα που θα απαντήσει στα εισερχόμενα μηνύματα και δεν μπορώ να φαίνεται για να το συνδέσετε. Διατηρεί λέγοντας «Σφάλμα, λάθος διακριτικό επικύρωσης» όταν προσπαθώ να φορτώσει webhook μου στον browser μου. Και όταν προσπαθώ να στείλω bot μου ένα μήνυμα που παίρνω καμία απάντηση. Ακόμα κι αν έχω ήδη είχε επαληθευτεί και δεν αλλάξετε τον κωδικό.
Εδώ είναι ο κωδικός μου:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var port = process.env.PORT || 3000;
// body parser middleware
app.use(bodyParser.urlencoded({ extended: true }));
// test route
//app.get('/', function (req, res) { res.status(200).send('Hello world!') });
app.get('/', function (req, res) {
if (req.query['hub.verify_token'] === '8FKU9XWeSjnZN4ae') {
res.send(req.query['hub.challenge']);
}
res.send('Error, wrong validation token');
})
app.post('/', function (req, res) {
messaging_events = req.body.entry[0].messaging;
for (i = 0; i < messaging_events.length; i++) {
event = req.body.entry[0].messaging[i];
sender = event.sender.id;
if (event.message && event.message.text) {
text = event.message.text;
sendTextMessage(sender, Text received, echo: + text.substring(0, 200));
}
}
res.sendStatus(200);
});
// error handler
app.use(function (err, req, res, next) {
console.error(err.stack);
res.status(400).send(err.message);
});
app.listen(port, function () {
console.log('Listening on port ' + port);
});
var token = <myToken>;
function sendTextMessage(sender, text) {
messageData = {
text:text
}
request({
url: 'https://graph.facebook.com/v2.6/me/messages',
qs: {access_token:token},
method: 'POST',
json: {
recipient: {id:sender},
message: messageData,
}
}, function(error, response, body) {
if (error) {
console.log('Error sending message: ', error);
} else if (response.body.error) {
console.log('Error: ', response.body.error);
}
});
}
Έτσι, είμαι σύγχυση ως προς το γιατί τίποτα δεν συμβαίνει και γιατί παίρνω το σφάλμα. Νιώθω σαν να είμαι λείπει ένα ολόκληρο βήμα. Είμαι μετά από αυτό το σεμινάριο από τον τρόπο: https://developers.facebook.com/docs/messenger-platform/quickstart
Κάθε βοήθεια είναι ευπρόσδεκτη. Ευχαριστώ!
Επεξεργασία: Εδώ είναι τα αρχεία καταγραφής Heroku μου














