申请pages_messaging权限遭拒:Bot无响应及ERROR CODE:2018012求助
我们在申请Facebook Messenger应用的pages_messaging权限时,多次因“Bot无响应”被拒。用测试用户调用me/messages端点测试功能正常,但使用Graph API Explorer测试审核员的收件人ID(XXXXX93418XXXXXX)时,返回以下错误:
{ "error": { "message": "(#-1) Unexpected internal error", "type": "OAuthException", "code": -1, "error_subcode": 2018012, "fbtrace_id": "ACzSlcFJtPOv3hATV2NmOVV" } }
使用测试用户(收件人ID:XXXXX47110XXXXXX)测试时响应正常:
{ "recipient_id": "XXXXX47110XXXXXX", "message_id": "m_G1HHOz1BbrO5bVV6..." }
Bot已实现webhook接收后自动回复的逻辑,审核时却无法让审核方收到回复,需排查原因。
排查方向与解决方案
确认审核员ID的关联权限
检查审核员的Facebook账号是否已正确关联到待审核的页面,确保你的应用拥有向该用户发送消息的权限范围。错误子码2018012通常和目标用户的消息接收限制、应用权限不匹配相关。校验调用凭证的有效性
确保使用的page access token未过期且包含pages_messaging权限(待审核阶段也应具备测试权限)。可通过以下端点校验token权限:GET /debug_token?input_token={page-token}&access_token={app-id}|{app-secret}检查webhook的响应时效
Facebook要求webhook在15秒内返回200 OK,后续回复消息的调用不能有延迟。在webhook接收请求时添加日志,确认是否收到审核员的消息请求,以及回复调用的状态是否正常。排查平台临时限制
错误代码#-1为内部服务器错误,但结合子码2018012,可能是审核员账号设置了消息拦截,或应用在测试阶段被限制发送消息到非测试用户。尝试通过页面Messenger收件箱手动发送消息给该审核员ID,确认能否送达。提交审核时补充测试细节
重新提交审核时,附上测试用户的成功交互日志、调用审核员ID时的错误记录,说明功能已通过测试但遇到平台内部错误,请求审核团队协助验证。
内容的提问来源于stack exchange,提问作者Tirth Jain

