You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Facebook Messenger Bot如何获取用户消息反应的回调数据?

获取Facebook Messenger Bot消息反应的方法

当然支持获取用户对消息的反应啦!我来给你捋清楚怎么实现:

  • 第一步,先检查Webhook配置:你需要在Facebook开发者后台的Webhook设置里,确保勾选了messaging_reactions这个事件订阅权限——这是触发反应回调的核心前提,没勾选的话Facebook根本不会把反应事件推给你的回调URL。
  • 当用户给Bot发送的消息添加/移除反应(比如点赞、爱心、笑哭这些)时,Facebook会向你的回调URL发送POST请求,请求体的结构大概是这样的:
{
  "object": "page",
  "entry": [
    {
      "id": "<你的页面ID>",
      "time": 1620000000000,
      "messaging": [
        {
          "sender": {"id": "<用户ID>"},
          "recipient": {"id": "<你的页面ID>"},
          "timestamp": 1620000000000,
          "reaction": {
            "mid": "<用户反应对应的消息ID>",
            "reaction": "LOVE", // 反应类型,可选值有LIKE、LOVE、HAHA、WOW、SAD、ANGRY等
            "action": "add" // 表示是添加反应,移除的话值为"remove"
          }
        }
      ]
    }
  ]
}
  • 最后,在你的回调处理逻辑里,增加对reaction字段的判断:当收到的Webhook事件中messaging对象包含reaction字段时,就说明这是一个用户反应事件,你可以从中提取用户ID、目标消息ID、具体反应类型以及操作(添加/移除)等信息,按需处理即可。

另外要提醒你:只有Bot主动发送的消息,用户的反应才会触发这个回调;如果是用户自己发的消息或者非Bot发送的消息,对应的反应不会触发该事件哦。

内容的提问来源于stack exchange,提问作者user498529

火山引擎 最新活动