【发布时间】:2018-08-08 19:44:10
【问题描述】:
我正在尝试使用 NodeJS 和 Express 创建一个 Facebook Messenger 机器人。
我正在关注facebook guide,当我尝试运行此命令时
curl -H "Content-Type: application/json" -X POST "localhost:4000/" -d '{"object": "page", "entry": [{"messaging": [{"message": "TEST_MESSAGE"}]}]}'
我收到此错误SyntaxError: Unexpected token ' in JSON at position 0
这是我的代码:
var express = require('express');
var bodyParser = require('body-parser');
var request = require("request")
var app = express();
var port = process.env.PORT || 4000;
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.get('/', function(req, res) {
if (req.query['hub.verify_token'] === '22222') {
res.send(req.query['hub.challenge']);
console.log("GET")
res.sendStatus(200)
}
console.log("Error: wrong token")
})
app.post('/', function(req, res) {
messaging_events = req.body.entry[0].messaging;
console.log("post")
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 = "<token>";
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);
}
});
}
我忽略了这个错误并启动了机器人。我通过 ngrok 连接的 Webhooks。我确定在 Facebook 上我设置了一切正确。但我没有收到从 facebook 发送到我的 webhook 的消息信息。]
编辑:'{"object": "page", "entry": [{"messaging": [{"message": "TEST_MESSAGE"}]}]}'这是错误行
【问题讨论】:
-
您是否也获得了关于错误发生位置的行号?
-
尝试使用 messenger-bot npm 包
-
@EdwinBabu 我尝试了很多包,但没有不起作用
-
我测试了代码并且它对我来说正常工作。
-
@EdwinBabu 你能告诉我你是如何在 facebook 上设置 Messenger 的吗?
标签: node.js facebook facebook-messenger-bot