帅华君从来不喜欢拐弯抹角,喜欢开门见山。 不过,在开始正式的一级教程之前,帅华君先整理一下这一系列博文的讲解套路。
既然我们要列出微信公众平台的接口,那么我们就需要知道微信公众平台有哪些接口,所以我列出了微信公众平台的所有接口权限,这也是本系列博文的套路。
三大类二十六大功能(下有多个接口):接收消息、发送消息、用户管理与推广、支撑接口、丰富素材管理、智能接口、多种客服、微信支付、微信商店、微信卡套餐、设备功能、网页授权、基础接口、分享接口、图片接口 音频接口 智能接口 设备信息 地理位置接口操作 微信扫描 微信商店 微信卡券 微信支付
回头看的时候可以以这篇博文为目录,直接跳转到功能界面对应的博文。 为了能够使用所有权限,需要使用微信公众平台提供的测试账号,那么下面就进入正题吧。
点击此处在新标签页登录微信公众平台后台
单击此处在新选项卡中查看开发人员文档
找到左侧开发类别下的开发者工具,然后选择进入右侧的公众平台测试账号
按照提示扫描二维码,登录公众平台测试账户系统。
这一步我们得到了 和 。 请把这两个代码串保存在代码编辑器中,因为后面调用所有接口时会经常用到它们。
接下来,您需要填写接口配置信息。 该信息需要您拥有自己的服务器资源,并且填写的网址需要正确响应微信发送的验证。
点击此处查看官方关于如何访问接口的介绍
帅花君网站的服务器是基于 开发的,所以我打算写一个路由模块,然后将该模块导入到启动脚本中并应用路由。
根据您的实际情况填写您接受微信服务器请求的网址和您自己的网址。
然后点击提交,我们从控制台打印出微信服务器发送的请求参数是什么。
创建一个检查函数,此时只执行一次。 配置成功后可以删除此代码。
const checkSignature = (q) => { var signature = q.signature; var echostr = q.echostr; var token = 'shuaihua'; var timestamp = q.timestamp; var nonce = q.nonce; var array = new Array(token, timestamp, nonce); array.sort(); var str = array.toString().replace(/,/g, ""); var sha1Code = crypto.createHash("sha1"); var code = sha1Code.update(str, 'utf-8').digest("hex"); if (code == signature) { return echostr; } return 'error'; } const wechat = express.Router(); wechat.use('/', (req, res) => { res.send(checkSignature(req.query)); });
系统提示配置成功,说明我们的接入配置成功。
至此,微信公众平台的开发者已经成功接入,将从下一篇开始正式玩转各个微信公众平台的接口。