Facebook Messenger Webhook配置正确但无法接收messaging_referrals事件求助
无法接收Facebook Messenger的messaging_referrals事件排查求助
我在使用Facebook Messenger应用时遇到问题:尽管已正确配置Webhook权限,却无法接收messaging_referrals事件。其他事件如messages和messaging_postbacks均能被Webhook正常接收并处理,仅messaging_referrals事件存在问题。
我已完成以下操作:
- 为Messenger机器人创建了Facebook应用;
- 在应用设置的「Messenger Settings」中配置了可公开访问的回调URL及Verify Token用于认证;
- 在Webhook订阅字段中勾选了「messaging_referrals」以确保接收该事件;
- 在Java Spring应用中实现了Webhook服务器,用于处理包括
messaging_referrals在内的POST请求。

尽管完成了上述配置与编码,点击测试按钮或向机器人发送推荐链接时,仍无法接收到messaging_referrals事件。恳请有类似经验的人士提供排查方向或配置建议。
排查方向与配置建议
- 确认推荐链接格式合规:
messaging_referrals事件仅触发于带ref参数的Messenger链接,格式必须是https://m.me/你的主页用户名?ref=自定义标识,要保证ref参数存在、无特殊字符且长度不超过255字符。 - 检查主页关联与权限有效性:确保Facebook应用已绑定目标Messenger主页,同时应用拥有
pages_messaging权限。可在「Messenger Settings」的「关联的主页」中确认绑定状态,「应用审核」里检查权限是否处于有效状态(测试阶段也需确保权限未被限制)。 - 日志排查接收逻辑:在Spring应用的Webhook Controller中添加全量日志,打印所有POST请求的完整payload,确认是否有
messaging_referrals事件被发送但未被业务逻辑识别。比如直接输出请求体内容,排除解析或过滤逻辑出错的可能。 - 验证触发场景是否正确:该事件仅在特定场景触发:用户通过带ref参数的链接首次与主页互动、点击链接后发送消息、从关联广告进入对话。测试时请用未关注过主页的账号操作,确保场景符合要求。
- 查看Facebook Webhook日志:进入开发者平台「Webhooks」->「日志」,检查是否有
messaging_referrals事件的发送记录,以及是否存在回调返回非200状态码的失败情况。如果日志显示事件已发送但服务器未收到,需排查网络防火墙、反向代理是否拦截了请求。 - 确认Webhook订阅的主页正确:若应用关联多个主页,要确保为目标主页勾选了
messaging_referrals订阅选项,避免订阅错主页导致收不到事件。
内容的提问来源于stack exchange,提问作者Dian Arief R
相关产品推荐
相关产品推荐

