【微信开发】微信公众号开发流程、踩坑盘点(二)

系列文章目录

微信公众号开发流程、踩坑盘点(一)
微信公众号开发流程、踩坑盘点(二)



一、服务器配置

如下图,在前一篇配置的基础上,你需要开始配置服务器,还是在这个页面,首先为了后续开发,你的服务器要具备获取access_token的许可,你要填入你的服务器IP到这个IP白名单,这个IP你直接去租服务器的运营商控制台就可以看到。如果你使用的是内网穿透的方式,那这里一般是填写你自己机器的IP。如果你使用了微信云托管,那就不需要填(这个我没用过具体怎么用不清楚,应该和以前的小程序云函数类似的效果)。
在这里插入图片描述

接下来就是填写服务器配置,我这边已经启用了,你们没启用要先点击修改配置,然后填入相关信息。

URL填入的就是你后台服务的请求地址,比如你现在已经有一个域名绑定到自己的服务器,请求路径是: https://myserver.top,那么你就填入这个,可能大家会有一个疑问,微信公众号以后还有事件推送,这里只有一个地址,那他怎么知道往那个路由分支推送呢?这里直接说,这个url你填写以后,最后点击确定它会往这个地址发送一个get请求,用来验证你的服务器能否正确响应,如果可以就会提示修改成功,然后点启用就行。而所有事件推送也是往这个url发送请求,不过是post请求,发送来的请求体是xml数据,你对这个xml进行解析来知晓他发来的是什么类型的事件推送。

token你随便填一个好记的就可以,主要用来验证你的服务器能否正确响应的。

再下面的加密秘钥,如果你选择明文则不会使用到,随机一个就行。

所有的都配置好了,你得真正的启动后台程序,来按要求响应,我这里有一个nodejs、express框架的响应函数的代码,其实就是先字典序,再拼接起来,再sha1加密,如果和他发来的signature相同则返回他发来的echostr,这里的三个拼接参数其中两个是他发送来的参数,一个是你填写的token;

聪明的小伙伴可以发现,其实如果你只是想快速过验证,这里只需要一行res.send(req.query.echostr);就完事。

router.get("/", (req, res) => {
	let array = [req.query.timestamp, req.query.nonce, global.Token];
	array.sort();
	//拼接成一个字符串进行sha1加密
	array = sha1(array.join(""));
	if (array === req.query.signature) {
		res.send(req.query.echostr);
	} else {
		res.send("error");
	}
});

好的,接下来你需要让你的程序跑起来,确保公网通过你填写的url可以访问,并且有响应,你就可以点击保存了,它会弹出绿框表示验证成功,你点击启用即可,以后的事件推送的post请求就会发送到这里,这里似乎有点小bug,就是点一次启用可能不成功,不成功要等一下再点几次,直到显示已启用为止

  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值