最近公司要做微信工作号开发,觉得有趣,便接了这单活。
1.首先已经申请了微信工作号,打开微信公众号平台 https://mp.weixin.qq.com/
AppId是这个公众号的唯一识别码,相当于登录名
AppSecret 是公众号的开发者密码,就相当于登录密码
IP白名单: 是后端服务部署机器的ip,微信api接口允许访问的访问你公共号的ip
2.
服务器地址(url):就是后端部署的url地址
令牌:自己的token,随便来几位
消息加解密密码:秘钥
3.逛逛github,gitlab,找到一个合适的架构
第一个是sdk,第二个是demo,我们可以根据第二个demo快速开始我们的开发
4.clone后根据说明修改配置文件,这边端口设置为80端口
5.打包放到服务器上启动(因为要和微信做交互,所以必须使用公网测试)
6.后台启动后在微信公共号点击启动,如何后台没有启动或者配置信息和微信的配置信息不一致,就会显示“Token验证失败”
7.启用成功后代表我们后端服务已经接入微信公众号了。这时我们在微信公众号后台自定义菜单就会失效,因为微信已经默认你有了自己开发接口的能力
8.我们可以调用微信的SDK自己去创建菜单,微信公众号开发者文档已经将接口暴露给开发者
https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html
9.我们自己的后端服务demo中已经封装好了,我们直接用postman调用接口就可以生成了
退出公众号,重新登录后就显示出我们要的界面
踩坑点:1
微信公众号报错::{“errcode”:40125,“errmsg”:"invalid appsecret rid:
这是secret出现问题了,secret错误,换一下secret就可以了
踩坑点:2
{“errcode”:48001,“errmsg”:“api unauthorized rid: 616e1a89-0a992000-0e6c01bd”}]
公众号没有开启认证,需要去微信公众号后台开启认证
踩坑点:3
微信接口创建菜单40016,Invalid button size
这个是weixin-java-mp-demo-springboot 开源项目中微信创建公众号的model是buttons,所以微信提交微信开发文档中报文会报错,提交一下报文格式:
{"***buttons***":
[{"type":"view","name":"知碳","url":"XXXXX","key":"V1001_ZERO_CARBON"},
{"type":"view","name":"碳体验","url":"XXXXX","key":"V1002_ZERO_CARBON"},
{"name":"碳助手",
"sub_button":[{"type":"view","name":"关于我们","url":"XXXXX"},{"type":"view","name":"巡检计划","url":"XXXXX"}],
"key":"V1003_ZERO_CARBON"}]