授权获取用户手机号信息
2019-06-21 本文已影响0人
forjie
官方文档:
https://mp.weixin.qq.com/debug/wxadoc/dev/api/
https://blog.csdn.net/wsxx1020/article/details/79046553
小程序通过微信授权获取用户手机号流程(getPhoneNumber(OBJECT)
- 通过login接口获取session_key或者进行登录态检查 checkSession确保为登录状态
- 用户需要主动触发才能获取手机接口,所以这里不能主动调用api接口,需用 组件的点击来触发,需要将 `组件的值设置为 getPhoneNumber,当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到微信服务器返回的加密数据encryptedData及iv(同上)
- 获取到的encrypedData和iv传给后面进行解密,获取用户手机号的信息
示例
{
"phoneNumber": "13580006666",
"purePhoneNumber": "13580006666",
"countryCode": "86",
"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