मैं NodeJS, एक्सप्रेस, और एक Heroku सर्वर का उपयोग कर एक फेसबुक chatbot बनाने के लिए कोशिश कर रहा हूँ।
मैं Heroku पर मेरे webhook बनाया है और यह सत्यापित और फेसबुक ने बचा लिया था। मैं तो फेसबुक पर मेरे webhook कनेक्ट करने के लिए इस कोड को भाग गया।
curl -ik -X POST https://graph.facebook.com/v2.6/me/subscribed_apps?access_token=<token>
यह {: सच सफलता} लौट आए।
तो फिर मुझे लगता है कि आने वाले संदेशों का जवाब होगा कोड बढ़ने लगा लेकिन मैं इसे भेजी गई जानकारी प्राप्त करने के लिए प्राप्त नहीं कर पा रहे। जब भी मैं एक संदेश भेजने के मैं कोई जवाब नहीं मिलता है।
सब कुछ जुड़ा हुआ है और चल रहा है, लेकिन इस त्रुटि मैं हो रही है लेखन त्रुटि: संपत्ति पढ़ा नहीं जा सकता '0' अपरिभाषित के है, क्योंकि मैं फेसबुक से मेरी webhook को भेजे गए संदेश में जानकारी नहीं मिल रहा है। इस कोड की पंक्ति है कि खाली है:
messaging_events = req.body.entry[0].messaging;
यहाँ मेरा पूरा कोड है:
var express = require('express');
var bodyParser = require('body-parser');
var request = require(request)
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'] === '8FKU9XWeSjnZN4ae') {
res.send(req.query['hub.challenge']);
console.log(app.get ran)
res.sendStatus(200)
}
console.log(Error: wrong validation token)
})
app.post('/', function (req, res) {
messaging_events = req.body.entry[0].messaging;
console.log(app.post ran)
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);
});
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);
}
});
}
यहाँ मेरी Heroku लॉग्स हैं:
तो मैं क्यों मैं संदेश डेटा जब मेरे webhook फेसबुक से जुड़ा है और वे संवाद कर रहे हैं नहीं मिल रहा है के रूप में उलझन में हूँ। मैं भी यकीन है कि मैं सभी सदस्यता क्षेत्रों आवश्यक जाँच की थी बनाया है।
किसी को भी समस्या देखते हैं? किसी भी मदद की सराहना की है। धन्यवाद!
संपादित करें: मैं जिस तरह से इस गाइड अनुसरण कर रहा हूँ - https://developers.facebook.com/docs/messenger-platform/quickstart














