微信公众号要求用户对所有的请求都要携带AccessToken,wechatpy对于微信AccessToken会自动内部处理,一般单线程的情况下开发者不需要手动去操作,但是多线程情况下,必须使用持久化存储。
wechatpy下,开发者一般不需要访问AccessToken,如果需要,可以通过wechat_client.access_token获取到。也就是说,只要我们把wechat_client对象存储在缓存数据库里,每次请求微信接口的时候,再带上它,就可以了。
wechatpy支持多种AccessToken持久化存储。本框架主要用redis来存储。
在Application/Wechat/views目录下,创建一个名为Utils.py的文件,内容如下:
from redis import Redis
from wechatpy.session.redisstorage import RedisStorage
from GeneralTools import Constants
from wechatpy.client import WeChatClient
def get_WeChatClient():
"""
获取WeChatClient对象
:return:WeChatClient对象
"""
redis_client = Redis.from_url(Constants.WECHATPY_ACCESS_TOKEN_CACHE)
session_interface = RedisStorage(
redis_client,
prefix="wechatpy"
)
return WeChatClient(
Constants.WECHAT_APPID,
Constants.WECHAT_APPSECRET,
session=session_interface
)
浙公网安备 33010602011771号