微信小程序用户头像昵称获取规则调整公告及解读

微信各平台出于保护用户的头像昵称等数据,而反复调整各接口的能力,我们来看看本次小程序用户头像昵称获取规则调整公告都说了些啥。

微信公告原文:小程序用户头像昵称获取规则调整公告

调整公告解读

调整的主要内容

新增部分头像昵称填写能力(基础库 2.21.2 版本开始支持),文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/userProfile.html

收回接口wx.getUserProfile 接口被收回

收回能力wx.getUserInfo 接口获取用户昵称头像的能力被收回

生效时间:自 2022 年 10 月 25 日 24 时起,本调整生效

版本支持:基础库 2.21.2 版本开始支持,覆盖微信 8.0.16 以上版本

简单总结

简单总结一下,自 2022 年 10 月 25 日 24 时起,小程序基础库 2.21.2 版本(覆盖微信 8.0.16 以上版本)开始支持使用「头像昵称填写能力」来获取用户头像昵称,其他获取途径都将失效,包括 open-data 的方式。

调整背景

在小程序内,开发者可以通过 wx.login 接口直接获取用户的 openId 与 unionId 信息,实现微信身份登录;同时平台于2021年提供了新接口 wx.getUserProfile ,用于快速获取授权用户的微信昵称、头像。

但实践中发现有部分小程序,强制要求收集用户的微信昵称头像,否则无法使用小程序或相关功能,而本次调整的目的,就是为了减少此类不合理的强迫授权情况。

调整细则

1、小程序 wx.getUserProfile 接口将被收回:生效期后发布的小程序新版本,通过 wx.getUserProfile 接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”。生效期前发布的小程序版本不受影响,但如果要进行版本更新则需要进行适配。

2、插件通过 wx.getUserInfo 接口获取用户昵称头像将被收回:生效期后发布的插件新版本,通过 wx.getUserInfo 接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”。生效期前发布的插件版本不受影响,但如果要进行版本更新则需要进行适配。通过 wx.login 与 wx.getUserInfo 接口获取 openId、unionId 能力不受影响。

3、「头像昵称填写能力」支持获取用户头像昵称:如业务需获取用户头像昵称,可以使用「头像昵称填写能力」(基础库 2.21.2 版本开始支持,覆盖微信 8.0.16 以上版本)。

小程序 wx.getUserProfile 与插件 wx.getUserInfo 接口兼容基础库 2.21.2 以下版本的头像昵称获取需求:对于来自更低版本的基础库与微信客户端的访问,小程序通过 wx.getUserProfile 接口将正常返回用户头像昵称,插件通过 wx.getUserInfo 接口将返回用户头像昵称,开发者可继续使用以上能力做向下兼容。

小程序用户头像昵称处理方案

这个调整,各位开发小伙伴都想问候一下XX。。。但是,生活还得继续,这里老杨分享两个方案,按需取用。

1、头像昵称填写能力

按官方提供的解决方案,通过头像昵称填写能力来实现头像的上传与绑定

2、完全自定义

非授权模式,平台自定义上传头像、填写昵称,完全不用考虑微信的调整。