昨天搞公众号开发差点把我整崩溃了。本来想着接口嘛调调参数不就完事了?结果一上手全是坑!今天就跟大伙唠唠我踩的雷,保准你遇到同样问题能省两小时。
第一步:本地调试死活连不上
刚打开电脑,撸起袖子准备写代码。微信文档说要用内网穿透测试本地接口,我吭哧吭哧下了工具,照着教程配完。结果你猜怎么着?每次请求都给我返回个“redirect_uri参数错误”!我核对了八百遍后台配置的域名,明明跟穿透地址一模一样!
- 笨办法实测管用: 关掉所有调试窗口,重新启动穿透工具
- 手抖发现关键: 在公众号后台把域名配置删了重新粘贴
- 血泪经验: 穿透工具生成的域名带随机字符,必须整段复制,少个斜杠都不行!
第二步:消息加解密像猜谜
接口终于通了,用户发消息过来全是乱码!文档里写的什么EncodingAESKey看得我眼晕。随手点了个“随机生成”,结果解密时报错“签名校验失败”。气得我差点把键盘摔了!
后来发现坑在这儿:公众号后台“基本配置”里居然藏着两套密钥!
- 第一次配置时系统自动生成一套(千万别手贱点“重置”)
- 后来重置生成的另一套
我居然把新密钥填进旧代码里,怪不得对不上!翻出三个月前的备份配置文件才搞定。
第三步:菜单刷新比蜗牛慢
最崩溃的是改菜单!在后台删了旧菜单,代码里传了新配置,接口返回成功美滋滋。结果手机刷新十几次还是老菜单!打电话问同事都说没变化,急得我后背发凉。
发现是微信缓存作妖:
- 安卓机彻底杀死微信进程再开
- 苹果用户得删掉公众号重新关注
- 电脑网页版强制刷新(Ctrl+F5按烂)
折腾完这三步,新菜单才像蜗牛爬似的慢慢显示出来。后来学乖了,每次发完菜单都让测试同事重新关注一遍,虽然笨但好使!
搞完这趟活最大感受:微信文档写得像天书,不如自己踩坑记得牢。现在我把这些坑都用便签贴在显示器边框上,下次再遇到直接照着做,省得又得折腾半天。关键就三点:核对域名别漏字符、密钥只用最初那套、改完菜单必须重关注!