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

基于Twilio教程搭建的Facebook Messenger机器人仅本人账号消息可触发Webhook的问题求助

解决Facebook Messenger机器人仅自身账号能触发Webhook的问题

这种情况我碰到过好多次,大概率是Facebook应用的权限或发布状态限制了外部用户的访问,咱们一步步排查解决:

1. 检查Facebook应用的发布状态

如果你的Facebook应用还处于开发模式,那只有添加到「测试用户」列表里的账号才能和机器人互动,哪怕用户点赞了页面也没用——这是Facebook默认的权限限制。

操作步骤:

  • 登录Facebook开发者后台,找到你的目标应用
  • 左侧菜单选择「应用审核」>「应用状态」
  • 若显示「开发模式」,点击「切换到公开模式」,按照提示完成基础审核(需要填写应用信息、隐私政策链接等必填项)

小技巧:如果暂时不想正式发布应用,也可以把需要测试的用户添加到测试用户列表:在「角色」>「测试用户」里输入对方的Facebook账号,添加后对方就能正常触发Webhook了。

2. 确认Twilio侧的Webhook订阅配置

虽然你自己能触发Webhook,但还是要核对下Twilio的事件订阅是否完整:

  • 登录Twilio控制台,找到对应的Messaging Service
  • 进入「Facebook Messenger」配置项,查看Webhook订阅的事件,确保勾选了messages(接收用户消息的核心事件)
  • 同时打开Twilio的「Webhook调试器」,查看是否有外部用户发送消息的请求记录——如果完全没有记录,说明问题肯定出在Facebook侧的权限配置上

3. 验证Facebook页面与应用的关联关系

确保你的机器人所属页面和Twilio配置的Facebook应用是正确绑定的:

  • 在Facebook开发者后台,进入「产品」>「Messenger」>「设置」
  • 检查「页面关联」列表里的页面是否是你正在使用的那个
  • 同时确认「Webhook」配置中,该页面的订阅事件是否勾选了messages,避免出现页面层面的事件订阅遗漏

4. 排查用户端的互动权限

有时候用户虽然点赞了页面,但之前的操作可能导致权限异常:

  • 让测试用户打开你的Facebook页面,点击「发送消息」,确认能正常弹出聊天窗口
  • 如果用户之前和机器人聊过,建议他们清空聊天记录、取消关注后重新关注,再尝试发送消息

如果以上步骤都试过仍未解决,可以检查你的Webhook代码里是否不小心加了用户ID过滤逻辑(比如只处理你自己的账号ID)——这种低级错误偶尔也会出现。

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

火山引擎 最新活动