Ich versuche, einen Facebook-Messenger-Bot einzurichten und weiter in die gleichen zwei Fehler zu laufen."Webhooks fehlgeschlagen" und "Webhooks deaktiviert" Fehler beim Versuch, facebook Messenger Bot einzurichten
Webhooks Fehler:
Webhooks deaktiviert:
ich meine chatbot mit NodeJS, Express und einem Server zu erstellen. Ich betreibe meinen Webhook auf einem Heroku-Server. Ich habe es von Facebook verifizieren und speichern lassen.
Danach lief ich diesen Code:
curl -ik -X POST "https://graph.facebook.com/v2.6/me/subscribed_apps?access_token=<token>"
dies mit einer Erfolgsmeldung antwortet so dass ich Code gestartet Addition der eingehenden Nachrichten zu antworten, aber ich kann nicht scheinen, um es zu vernetzen.
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 }));
app.get('/', function (req, res) {
if (req.query['hub.verify_token'] === '<myToken>') {
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);
}
});
}
An dieser Stelle sollte ich in der Lage sein, einen Chat mit meinem Bot zu starten und haben es mit einem Echo antworten, aber nichts passiert.
Jede Hilfe wird geschätzt. Vielen Dank!
Würde ich die _app.get_ Funktion auch ändern? –
Ja ... sie sollten beide auf dem Webhook-Endpunkt hören. Beide bekommen & post – StarlineVentures
Ok, benutze ich den falschen Webhook? Wenn ich versuche, dieses 'app.get ('/ wyrdbot.herokuapp.com', Funktion (req, res)) auszuführen' 'bekomme ich einen _Cannot Get/_ Fehler, wenn ich meinen Webhook in meinem Browser lade. –