之前得知获取用户头像和昵称的两个接口getUserInfo和getUserProfile被废弃了,于是我就想深入探究一下。
一直抱有一个疑问,为啥有getUserInfo和getUserProfile两个接口?经过一番查询资料后,才知道,最早先是使用getUserInfo获取用户昵称和头像的。此时开发者调用getUserInfo时,如果没有用户授权,会弹窗征求用户授权;如果已有授权,则返回用户昵称和头像。2021年4月引来一次改版,getUserInfo不再有授权流程,而是直接返回匿名信息。新增getUserProfile,调用这个函数每次都会弹窗征求获取用户的头像和昵称,开发者需要在获取完毕之后,保存在自己的服务器上。如下图所示:
看不出这个改动的意义何在,从流程上看,我认为第一版更好更方便。
2022年10月,微信回收getUserInfo()和getUserProfile()获取用户信息的能力。从此以后,不管是getUserInfo还是getUserProfile,都返回匿名的微信头像和昵称,但仍然可以获取openid。为此,开发社区下一大堆吐槽。
不过也可以理解,因为unionid和openid只能唯一标识当前用户在当前小程序内的身份,脱离了当前小程序范围,根据拿到的openid和unionid就无法找到具体是哪个用户了。
而如果获取了用户的微信头像和昵称,其实就等于真个微信生态内的唯一标识了。这其实存在一个很大的隐患。试想,某小程序A开发者在微信朋友圈或群聊中对某个用户感兴趣,动了歪心思。他首先就会想要获取这个人更的信息,于是他就在自己开发的小程序A的数据库中根据头像和昵称查找那个受害者,然后就可以实施下一步的非法行为了。
所以,废弃这获取用户昵称和头像的接口的这个改动,虽然让开发者挺烦的,但是是有必要的。
以后,我们得专门在小程序内添加一个页面来采集用户的头像和昵称了。
标签:getUserInfo,获取,昵称,用户,头像,废弃,getUserProfile From: https://www.cnblogs.com/hdxg/p/17159459.html