微信小程序python解析获取用户手机号_python获取微信小程序openid及用户信息
填坑记录:1.个人微信公众订阅号是不能申请微信认证的。公众号的类型在注册时一旦选择就不能更改,微信公众号认证的功能除个人订阅号外,都可以申请认证,因而个人订阅号不能申请认证。这句话的意思就是个人订阅号无法开发小程序。
2.个体户营业执照(个体户)可申请微信服务号并申请开发小程序,但需微信认证复用资质并用新邮箱注册小程序账号
3.微信开发工具创建微信小程序填写的appid是小程序的appid(不是微信公众号的),不能是个人小程序的appid,个人小程序没有获取用户信息的权限
4.调用接口获取用户信息时填写的appid要与创建时填写的一样
5.openid只能后台获取,提高安全性
6.只获取openid,只调用wx.login获取code交给后台即可,如果还要获取用户详细信息还要接着调用wx.getUserInfo获取encryptedData,iv提交后台解密用户信息
小程序代码:
//登录获取code
login: function () {//1、调用微信登录接口,获取code
wx.login({
success: function (r) {var code = r.code;//登录凭证
if(code) {//2、调用获取用户信息接口
wx.getUserInfo({
success: function (res) {//3.请求自己的服务器,解密用户信息 获取unionId等加密信息
wx.request({
url: app.globalData.loginWXUrl,//自己的服务接口地址
method: 'post',
header: {'content-type': 'application/json'},
data: { encryptedData: res.encryptedData, iv: res.iv, code: code },
success: function (res) {//4.解密成功后 获取自己服务器返回的结果
if (res.data.return_code == 0) {
console.log(res.data.data)
}else{
console.log('解密失败')
}
},
fail: function () {
console.log('系统错误')
}
})
},
fail: function () {
console.log('获取用户信息失败')
}
})
}else{
console.log('获取用户登录态失败!' +r.errMsg)
}
},
fail: function () {
console.log('登陆失败')
}
})
}
python后台代码:
@app.route('/code', methods=["POST"])
def get_code():
JSCODE= request.get_json()["code"]
encryptedData= request.get_json()["encryptedData"]
iv= request.get_json()["iv"]
APPID= "小程序appid"SECRET= "小程序secret"url= 'https://api.weixin.qq.com/sns/jscode2session?appid={appid}&secret={secret}&js_code={code}&grant_type=authorization_code'.format(appid=APPID,secret=SECRET,code=JSCODE)
res= requests.get(url)
openid= res.json().get('openid')
session_key= res.json().get('session_key')
pc=WXBizDataCrypt(APPID, session_key)
data=pc.decrypt(encryptedData, iv) #data中是解密的用户信息return json_response(0,data=data)
WXBizDataCrypt中具体解密方法下载官方多种语言示例代码:https://res.wx.qq.com/wxdoc/dist/assets/media/aes-sample.eae1f364.zip
如果导包出现 from Crypto.cipher import AES错误
python 在 Windows下使用AES时要安装的是pycryptodome 模块 pip install pycryptodome
python 在 Linux下使用AES时要安装的是pycrypto模块 pip install pycrypto
微信小程序python解析获取用户手机号_python获取微信小程序openid及用户信息相关推荐
- 微信小程序python解析获取用户手机号_微信小程序获取用户手机号
获取微信用户绑定的手机号,需先调用wx.login接口. 小程序获取code. 后台得到session_key,openid. 组件触发getPhoneNumber 因为需要用户主动触发才能发起获取手 ...
- 微信小程序python解析获取用户手机号_微信小程序获取用户手机号详解
最近在做一款微信小程序,需要获取用户手机号,具体步骤如下: 流程图: 1.首先,客户端调用wx.login,回调数据了包含jscode,用于获取openid(用户唯一标识)和sessionkey(会话 ...
- 微信小程序python解析获取用户手机号_微信小程序如何获取用户手机号
最近在做一款微信小程序,需要获取用户手机号,具体步骤如下: 流程图: 1.首先,客户端调用wx.login,回调数据了包含jscode,用于获取openid(用户唯一标识)和sessionkey(会话 ...
- h5微信f分享链接给对方获取对方手机号_企业微信可以搜索微信号添加好友/客户吗?怎样主动添加通过率高?...
文丨语鹦企服原创,未经授权不得转载 企业微信推出3.0版本后,已经实现了和微信消息互通.那么在企业微信可以搜索微信号添加好友/客户吗?怎样主动添加通过率比较高?一起来看看. 首先,企业微信目前暂不支持 ...
- python怎么调用c语言_Python调用C语言程序方法解析
Python调用C语言程序方法解析 首先我们需要将编写好的c程序文件编译为动态库文件(后缀名为.so) 使用下面的命令: gcc 原文件名.c -shared -o 新文件名.so 然后在python ...
- python逻辑运算的一些流程图_Python猜数小游戏
使用random变量随机生成一个1到100之间的数 采集用户所输入的数字,如果输入的不符合要求会让用户重新输入. 输入符合要求,游戏开始.如果数字大于随机数,输出数字太大:如果小于随机数,输出数字太小 ...
- python 朋友圈自动回复评论_Python自动回复微信好友新年祝福
马上就要过年了,好多小伙伴都已经顺利到家,准备过新年,公众号也将暂停更新,今天这篇文章是年前最后一篇原创文章.在这提前祝大家:新年快乐.公众号会在除夕夜给大家发支付宝口令红包哟. 昨天发现自己的itc ...
- python输入end退出循环_python练习:从入门到实践——用户输入和while循环
目录 一.函数 input() 的原理 1.1 编写清晰的程序 1.3 求模运算 二.while 循环简介 2.1 使用 while 循环 2.2 让用户选择何时退出 2.3 使用标志 2.4 使用 ...
- python解析器的作用_Python 解析器
2008-01-07 17:55 星期一 嵌入Python解析器执行一些简单的Python 脚本脚本很容易,但是当python解析器用到扩展模块时和多个线程都需要Python解析器执行脚本时,遇到了一 ...
最新文章
- 谷歌Analytics添加到您的SharePoint 2010网站的2种方法
- Orleans初战(用分布式解决高并发购物场景)
- 外网访问XAMPP失败 解决方案
- mac 设置默认python为python3
- 加个ing是什么意思_take的意思竟然是“要求”?奇奇怪怪的熟词僻义打卡终于来了!...
- [react] React中如何监听state的变化?
- tomcat安装成功页面翻译
- Uber Go语言编码规范
- python脚本转二进制_使用此Python脚本在Base94中编码二进制文件
- access中case替代方法
- vue打包后CSS中引用的背景图片不显示问题
- 如何书写IT行业的个人简历
- 微信小程序中引入 UI 组件库(Vant Weapp)
- 计算机硬件产品增值税率,软件产品增值税即征即退税额如何计算?申报增值税时应该如何填报呢?...
- citespace:分析wos数据时显示“the timing slicing setting is outside the range of your data”解决方案
- zoj题目分类详细的
- pytorch--初识张量与常见基础函数(1)
- 《管理长歌行》—— 小花狗的错误
- c++语言 tcp例子,C++ boost::asio编程-同步TCP详解及实例代码
- 区块链开发先达区块链跨境支付系统解决方案
热门文章
- 用udp协议通讯时怎样得知目标机是否获得了数据包?_和相亲对象聊天,你属于UDP还是CDP?...
- Qt图形界面编程入门(信号和槽通信机制)
- 行健设计_行健要闻|“第四届‘天行健创新创业设计大赛”培训班成功举办
- weblogic启动慢
- Angular 8之升级和新功能摘要
- ubuntu进行apt-get时候出现Package ssh is not available, but is referred to by another package 错误...
- cocos2dx3.2文件结构和代码结构
- 最长递增子序列和网易去除最少使从左向右递增又递减问题
- android button的selector
- php 自定义打印模板下载,PHP – 创建自定义模板系统?