当前位置: 首页 > news >正文

微信小程序获取手机号(2023年10月 python版)[无需订阅]

技术栈:

1. 微信开发者工具中的调试基础库版本:3.1.2。

2. 后台:django。

步骤:

1. 首先在后台django项目的定时任务中增加一个下载access_token函数,并把得到的access_token保存在数据库中(其实随便哪里都行)。其中APPID和SECRET就是小程序的:

def getAcessToken():# 获取access_tokenurl = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s' % (APPID, SECRECT)res = requests.get(url)token = json.loads(res.text)['access_token']  # 这就是获得token。

2. 小程序的wxml文件中安放一个必须的按钮:

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号</button>

3. 对应的js文件中安放下面的js代码:

getPhoneNumber(e){wx.request({url: 'https://xxx.xxx/phonenumber',  # 这是django后台给配置的urldata:{'code': e.detail.code,  # 这是发给后台的code,要用它接收手机号},method: 'GET',success: (res)=>{console.log('手机号是:' + res.data.phone)}}) },

4. 在django的urls.py中设置path:

path('phonenumber/', views.getPhoneNumber)

5. 在django的views函数中,使用第1步中token和第3步传过来的code,向微信服务器发起请求,获取手机号:

def getPhoneNumber(request):code = request.GET.get('code')# 获取access_tokenaccess_token = AccessToken.objects.get(appname='xxx')token = access_token.tokenurl = f"https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token={token}"headers = {"Content-Type": "application/json"}para = {'code': code}response = requests.post(url, json=para, headers=headers)res = response.json()if res['errcode'] == 0:  # 成功获取phonenumberphone = res['phone_info']['phoneNumber']return JsonResponse({'code': 0, 'phone': phone})else:return JsonResponse({'code': -1, 'phone': -1})

没了,结束!

http://www.lryc.cn/news/199354.html

相关文章:

  • Linux下设置网关以及网络相关命令
  • linux三剑客~sed命令的使用
  • virtualBox虚拟机安装多个+主机访问虚拟机+虚拟机访问外网配置
  • 正点原子嵌入式linux驱动开发——Linux按键输入
  • java--强制类型转换
  • java后端调用接口Basic auth认证
  • App爬虫之强大的Airtest的操作总结
  • MODBUS-TCP转MODBUS-RTU通信应用(S7-1200和串口服务器通信)
  • 开源贡献难吗?
  • seata的TCC模式分析
  • 常用linux命令【主要用于日志查询,目录切换】
  • Python学习基础笔记七十六——Python装饰器2
  • 生产环境解决用户登录问题的实践
  • 通讯协议学习之路:QSPI协议理论
  • pip安装修改镜像源
  • QCC51XX-QCC30XX系列开发教程(实战篇) 之 12.4-空间音频手机侧和耳机侧接口设计时序图
  • Mysql创建视图中文乱码修改docker里的配置
  • uniapp checkbox样式失效,选中框选中按钮不显示
  • 机器学习-最小二乘法
  • Linux文件管理与用户管理
  • java中什么是不可变类
  • 使用Perl和WWW::Mechanize库编写
  • 智荟雄安,创想未来 | 竹云董事长受邀出席雄安新区2023软件和信息技术服务业创新发展论坛并作主题演讲
  • 【设计模式-1】UML和设计原则
  • 【数据结构】——二叉树的基础知识
  • 日常bug汇总
  • C#使用PPT组件的CreateVideo方法生成视频
  • 数字化体系如何帮助企业拓展裂变增长渠道?数字化营销体系构建?
  • 关于vant 的tabbar功能
  • :style动态绑定,但只要页面发生变化就会执行一次方法