更新时间:2020年3月7日
微信公众号开发的硬件必备条件:(1)申请一个公众号 (2)有公网ip的服务器(最好是阿里云,腾讯云等的云服务器)(3)解析到(2)中服务器地址的域名(阿里云,腾讯云购买即可)。
个人可申请订阅号,申请教程参考:https://jingyan.baidu.com/article/020278113d07531bcc9ce5a5.html
微信公众号只是相当于流量转发,而具体功能的实现需要在后端服务器上去具体实现。而微信公众号开始只支持域名访问(不支持ip直接访问,这也是为什么要域名的原因),只支持80端口(http)或者443端口(https)
后端服务器需要有软件提供网页服务器功能,我们采用nginx,比较方便。 安装流程: (1)安装gcc(使用gcc -v可以查看gcc是否安装):
(2)安装依赖:
(3) 下载nginx
(4)解压与安装
解压完成后进入该文件夹
安装,管理员账户下运行:
在浏览器输入域名:www.xxxxx.cn 后:
(5)nginx配置
因为微信公众号只能利用80端口或者433端口,所以我们可以使用nginx做端口转发,使得服务器得到充分利用。
在nginx.conf文件中(vim /usr/local/nginx/conf/nginx.conf
)加入下面代码:
这样 访问www.xxxx.cn/data/hsb_signal_tower 就会转发到8000端口,之后在8000端口部属自己的开发服务.
这一块儿分两部分,相当于微信公众号与后端服务器的通信验证。微信公众号端有唯一的token,在服务器端验证这个token来完成整个通讯验证工作。token是惟一的,所以一定要保密。
(1)进入公众号拉到最下面,进入基本配置。
(2)填写信息
(a) url填写域名,一定要与nginx配置中一致 (b)token中自己填写,这是公众号开发的唯一识别符,请牢记。 (c)第三个点随机生成。 填完之后先不要提交,接下来在服务器端构建一个验证服务。
本实例使用flask构建web应用 python代码如下,文件名为:wechat.py.需要修改的是使用自己的token。:
以上代码参考大神的博客,原博客使用python2,上面代码适用于python3。再使用命令: python wechat.py
没有报错且出现以下信息则表示没有问题:
之后在(1)的配置页面点击提交按钮,如果验证失败则会提示验证token失败,此时服务器端会有相应的错误。如果验证成功,则用户可以在公众号中发送信息,公众号会返回发送信息。 希望大家耐心调试。