【问题标题】:Send a message to a person, who added a comment on Page向在主页上添加评论的人发送消息
【发布时间】: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' }

我做错了什么?我是否需要更多权限才能执行某些操作?

【问题讨论】:

  • 您不能仅仅因为他们在您的页面上发表评论而向用户发送消息。 (不过,您的页面可以私下回复他们的评论,这样只有特定用户才能看到您的回复。)
  • 感谢您的回复,但请告诉我他们是如何做到的? youtube.com/watch?v=JNGK_0SHXLo

标签: facebook facebook-messenger-bot facebook-webhooks


【解决方案1】:

实际上,我找到了解决这个问题的方法,而且很容易做到。 Facebook 文档:https://developers.facebook.com/docs/graph-api/reference/v2.9/object/private_replies

【讨论】:

  • 有没有办法以这种方式发送结构化消息?据我所知,消息对象仅限于纯文本。我想发送一条更结构化的消息,其中包含对操作的调用,例如带有回发的按钮等。是否可以使用 private_replies 发送这种消息?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-06
  • 1970-01-01
  • 2014-05-20
  • 1970-01-01
  • 1970-01-01
  • 2020-09-04
  • 1970-01-01
相关资源
最近更新 更多