Ich versuche, eine Facebook chatbot mit NodeJS, Express und einem Heroku Server zu erstellen.
Ich habe meine Webhook auf Heroku und hatte es von Facebook überprüft und gespeichert. Ich begann dann Code hinzufügen, die die eingehenden Nachrichten antworten würde, und ich kann nicht scheinen, es zu vernetzen. Es hält „Fehler, falsche Prüfkarte“ sagen, wenn ich versuche, meine Webhook in meinem Browser zu laden. Und wenn ich versuche, meine bot eine Botschaft, die ich keine Antwort erhalten zu senden. Obwohl schon hatte ich es überprüft und nicht den Code ändern.
Hier ist mein Code:
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);
}
});
}
Also bin ich verwirrt, warum nichts passiert ist und warum ich diesen Fehler. Ich fühle mich wie ich einen ganzen Schritt fehlt. Ich verfolge dieses Tutorial durch die Art und Weise: https://developers.facebook.com/docs/messenger-platform/quickstart
Jede Hilfe ist willkommen. Vielen Dank!
Edit: Hier sind meine Heroku logs














