(*赶时间直接看结论,文末标红加粗)
在配置公众号的响应脚本之前,需要做一次接口的验证
上一次配置这个已经是若干年前,我拿了以前的一个旧脚本,提交的时候提示验证token失败,于是开始仔细琢磨文档对照调试
官方文档: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319
心想可能隔了一段长时间可能验证的方法已经有了更新,果然发现 文档的PHP示例代码下载包已经变更,而且包含了python,java,C等多个主流语言版本
对比DEMO 发现了其中一处与旧版脚本的不同
对参数进行字典排序 旧脚本的
sort($tmpArr);
更新为了
sort($tmpArr, SORT_STRING);
强制视为字符串排序,修改后从脚本输出的调试结果来看,服务端验证逻辑是通过了,原文返回输入的 echostr
但是在后台提交验证的时候依然提示 验证token失败!
尝试使用微信公众号调试工具
https://mp.weixin.qq.com/debug/
然而并没有什么用,没有调试这个token验证的功能
没什么头绪下,只能试着网上搜索..遇到类似提示的人五花八门…
在大部分案例对比排除后,终于发现了原因并且解决。
验证TOKEN的API脚本必须保存为 UTF-8 无BOM
回头翻查了下官方的文档,对于这个细节,果然只字未提。浪费了我2个多小时…啧啧.