微信公众号开发小记——1.接入微信服务器

512 查看

描述

由于马上要做一波公众号开发,今天先调研,把基本的服务器接起来。微信公众号服务器在接入的时候要做一些烦躁的事情,改配置的时候要进行握手,api调用要做一些烦躁的加密解密检查,而且微信使用的是xml解析也比较烦,所以需要找一个靠谱的sdk来做api调用以及各种解析。

由于我知道会做多个不同服务号的开发,那么为什么不做个脚手架呢,方便接入。

手脚架地址
wechat-python-sdk
sdk文档

微信公众号

公众号开发首先你要有个公众号,这里就不说了按照流程申请。微信公众号地址
看看微信公众号开发需要的一些配置数据

点击开发的基本配置

就会看到这个地方,所有的配置都在这里,把这些配置加到脚手架的local_settings.py里面,启动脚手架,服务器配置你点击启用。

脚手架的说明

微信公众号接入的时候要做很多事情,为了简化开发,提供一个django版本的服务器。

用到了wechat-python-sdk

安装

git clone xxx weixin_server
cd weixin_server
source 你的virtualenv
pip install -r requirements.txt

配置

ngrok配置

微信服务器测试时需要打洞,用的ngrok, 在项目的ngrok目录下有个配置
start.sh里面把your_domain配置成你想用的二级域名,ngrok.conf下可以看到,
用的ittun.com这样访问的时候就可以用你配置的二级域名.ittun.com访问了,
注意这个域名要配置在微信的URL(服务器地址)

start.sh后面的8888是你本机服务的端口号,例如我用django的runserver启动在8888
端口,那么这里就是8888

微信的各种配置

在settings.py目录下新建一个local_settings.py, 根据微信公众号的信息,
把下面的东西补全.

# weixin config
WEIXIN_TOKEN = 'Your weixin token'
WEIXIN_APP_ID = 'Your weixin app id'
WEIXIN_APP_SECRET = 'Your weixin app secret'
WEIXIN_ENCODING_AES_KEY = 'Your weixin encoding aes key'
WEIXIN_ENCRYPT_MODE = 'safe' # safe | compatible | normal

调试

ngrok的配置以/etc/ngrok/ngrok -config=/etc/ngrok/ngrok.conf -subdomain=your_subdomin 8888为例

你公众号的服务器URL配置应该为 http://your_subdomin.ittun.com

./weixin_server/manager.py runserver 8888
./ngrok/start.sh

然后进入你的公众号发送信息就可以了。

目前只接入了基本的文本的demo,后期会根据其他的东西做handler之类的,以及具体的代码讲解之后再说。