官方文档:
https://mp.weixin.qq.com/debug/wxadoc/dev/api/
要获取用户的基本信息,首先要获取用户的session_key
获取微信用户基本信息流程(wx.getUserInfo(OBJECT)
1.调用接口获取凭证(code)
2.在通过code码获取到session_key,open_id
3.首先调用wx.login登录接口(此过程需要用户授权 scope.userInfo同意后才能调用
4.接收微信返回的参数,包括包含用户敏感信息的encryptedData以及加密算法的初始向量iv
5,把参数传给后端进行信息解密
参数 类型 说明
encryptedData String 包括敏感数据在内的完整用户信息的加密数据
iv String 加密算法的初始向量
解密后返回参数字段信息
示例
{
"openId": "OPENID",
"nickName": "NICKNAME",
"gender": GENDER,
"city": "CITY",
"province": "PROVINCE",
"country": "COUNTRY",
"avatarUrl": "AVATARURL",
"unionId": "UNIONID",
"watermark":
{
"appid":"APPID",
"timestamp":TIMESTAMP
}
}
代码
#!/usr/bin/env python
# encoding: utf-8
APPID="**********" # 小程序APPID
session_key="**********************" # 维持登录态的session_key
from weixin.lib.wxcrypt import WXBizDataCrypt
def decrypto(encryptedData, iv, APPID, session_key):
pc = WXBizDataCrypt(appid, session_key)
result = pc.decrypt(encryptedData, iv)
return result
网友评论