最新微信小程序授权获取用户信息(getUserInfo(淘汰) 替换 getUserProfile)及另附其他权限获取完整流程

本文介绍了微信小程序中getUserInfo接口被getUserProfile替代的背景及详细迁移步骤,包括如何处理低版本兼容性问题,并提供其他权限获取的拓展信息。根据微信官方规定,2021年4月13日后,wx.getUserInfo将不再弹出用户信息授权弹窗,开发者需使用wx.getUserProfile接口,并确保在用户授权时避免过度打扰。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

每次一动手就是从授权登录开始,每次都会忘了整个流程,现在这里记录下整个流程方便下一次直接复制,也放出来供大家参考参考~

同时,官方宣布2021年4月13日后发布的小程序新版本,无法通过wx.getUserInfo与< button open-type=“getUserInfo” />获取用户个人信息

特此写了这篇文章兼容4.13日前的getUserInfo以及之后的getUserProfile接口获取用信息


官方获取用户信息接口调整通知 我整理了以下关键信息:

  • 4月13日后发布的新版本小程序,开发者调用wx.getUserInfo或< button open-type=“getUserInfo”/>将不再弹出弹窗,直接返回匿名的用户个人信息,获取加密后的openID、unionID数据的能力不做调整。
    调整图片
    如仍使用原来方式将会获得红色区域的匿名信息,即一切流程会非常顺畅,使用wx.getUserInfo获得也很顺畅,但是获得都是匿名信息
  • 若开发者调用wx.authorize接口请求scope.userInfo授权,用户侧不会触发授权弹框,直接返回授权成功。
    即wx.authorize 只会获得假性的授权成功
  • 若开发者调用wx.getSetting接口请求用户的授权状态,会直接读取到scope.userInfo为true
    即wx.getSetting去判断是否已授权获取用户信息也是假性的。
  • wx.login接口获取的登录凭证可直接换取unionID
  • 开发者需要在获取用户的头像昵称信息,可调用wx.getUserProfile接口,开发者每次通过该接口均需用户确认,请开发者妥善处理调用接口的时机,避免过度弹出弹窗骚扰用户。

总结就是 : 之前通过wx.getSetting获取用户是否授权已经无法作为判断依据wx.authorize无法弹起用户授权弹框wx.getUserInfo可以直接使用而无阻碍,但是获得的都是匿名信息,即相当于白获取,最后就是wx.openSetting接口官方并没有表示,由于文章撰写时间是3月21日,所以我也无法实验该接口能否起作用能够跳转设置页面去授权,但是上面两个接口这样处理也不难猜测这个接口估计使用了去到设置界面也不会有授权用户信息的开关。所以我们只能通过wx.getUserPorifile接口去老实的不厌其烦的让用户授权即刻获取用户信息。同时必须通过bindtap等点击事件才能触发调用授权

正文

一、旧版getUserInfo获取用户信息

wxml设置open-type button

<button bindgetuserinfo="bindGetUserInfo"  open-type='getUserInfo'>登录</button>

流程判断如下:

Created with Raphaël 2.2.0 登录点击
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值