【发布时间】:2017-06-27 17:06:12
【问题描述】:
我想创建一个类似的东西,描述为here 用于我在 facebook 上的业务页面。有很多替代品,例如 chatfuel 和 manychat,但我想要相同的 Auto PM,但更灵活。到目前为止我所做的,我连接到:webhooks 和 messenger API。我编写了这些代码行,这使我可以看到我的业务页面提要中的所有更改。
app.post("/api/webhooks", jsonParser, (req, res) => {
const jsonBody = req.body || '';
if (typeof jsonBody !== 'object' || !jsonBody.entry || jsonBody.object !== 'page') { return res.send('no body'); }
// else
const { message, sender_id } = jsonBody.entry[0].changes[0].value;
console.log(message);
if (!message) { return res.send('no message'); }
bot.say(sender_id, 'hey there, Mr. P!');
return res.send('post request');
});
正如我所说,这段代码可以让我看到谁在我的业务页面上进行了更改,所以我甚至可以获取用户的 ID。所以我想,如果我知道用户的 ID,我可以向他发送消息,但是当我尝试发送消息时,我收到以下错误。
{ message: '(#100) No matching user found',
type: 'OAuthException',
code: 100,
error_subcode: 2018001,
fbtrace_id: 'CkNJQpdP6A9' }
- bot - 是第三方 npm 包,称为 bootbot。 https://github.com/Charca/bootbot
我做错了什么?我是否需要更多权限才能执行某些操作?
【问题讨论】:
-
您不能仅仅因为他们在您的页面上发表评论而向用户发送消息。 (不过,您的页面可以私下回复他们的评论,这样只有特定用户才能看到您的回复。)
-
感谢您的回复,但请告诉我他们是如何做到的? youtube.com/watch?v=JNGK_0SHXLo
标签: facebook facebook-messenger-bot facebook-webhooks