最开始我们使用wx.getUserInfo来获取微信用户信息,但此接口在2021年4月28日后已经废弃。
官方新增了getUserProfile接口,可获取用户头像、昵称、性别及地区信息,该接口只返回用户个人信息,不包含用户身份标识符。开发者每次通过该接口获取用户个人信息均需用户确认。
原有的wx.getUserInfo接口调用需要用户授权,一旦用户明确同意或拒绝过授权,其授权关系会记录在后台,直到用户主动删除小程序。
现在的getUserProfile接口在页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用,每次请求都会弹出授权窗口,用户同意后返回 userInfo。
所以,如果使用wx.getUserInfo接口,用户一次授权后,之后就可以毫无障碍地使用到用户最新的个人信息;但getUserProfile接口,如果想要使用最新的个人信息,必须每次授权。
wx.getUserProfile 返回的加密数据中不包含 openId 和 unionId 字段(wx.getUserInfo接口可以获取到openId 和 unionId),若要获取此类信息,可以通过wx.login接口。
对开发者来说,wx.getUserProfile 的使用比wx.getUserInfo 要麻烦不少,但对用户来说,个人信息的保护更加完善了(虽然大部分用户并不关心这一点)。为了个人隐私的安全,牺牲掉一部分开发使用的便利性,也是合理的吧。
官方最佳实践
功能 | 实现 |
获取用户身份标识符 | wx.login |
在界面中展示用户的头像昵称信息 | <open-data>组件(平台计划从2022年2月21日24时起回收通过 |
获取用户的头像昵称信息 | wx.getUserProfile接口,每次通过该接口均需用户确认,避免过度弹出弹窗骚扰用户 |
参考文档:
《小程序登录、用户信息相关接口调整说明》:https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801
《小程序用户信息相关接口调整公告》:https://developers.weixin.qq.com/community/develop/doc/000e881c7046a8fa1f4d464105b001?highLine=open-data
还没有评论,来说两句吧...