微信公众号开发小记——1.接入微信服务器
admin
2023-07-31 01:45:31
0

描述

由于马上要做一波公众号开发,今天先调研,把基本的服务器接起来。微信公众号服务器在接入的时候要做一些烦躁的事情,改配置的时候要进行握手,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之类的,以及具体的代码讲解之后再说。

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
项目管理和工程管理的区别 项目管理 项目管理,顾名思义就是专注于开发和完成项目的管理,以实现目标并满足成功标准和项目要求。 工...