所以我刚刚开始使用Node.js&快递,但我正在学习本教程https://github.com/jw84/messenger-bot-tutorial,我理解其中大部分内容,但是,请从以下代码中获取:
app.post('/webhook/', 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)
我不明白“入境”和“短信”是做什么的,或者他们来自req.body.entry[0].messaging
答案 0 :(得分:0)
entry
和messaging
来自POST请求中的JSON。在教程的第12行(https://github.com/jw84/messenger-bot-tutorial/blob/master/index.js#L12),您可以看到作者解析传入的请求正文以获取JSON。该JSON被添加到传入请求的body
属性中。简而言之,这是他的榜样所特有的。如果传入的请求如下所示:
{ data: ["messaging": "hi"], ["messaging": "bye"] }
然后entry
需要更改为data
。
此外,您可以看到这是Facebook的文档中信使规范的一部分:https://developers.facebook.com/docs/messenger-platform/quickstart#receive_messages