微信API旧UnionID接口下线后如何获取用户昵称、语言码?
微信生态获取用户昵称、语言码的可行方案
2021年12月27日接口调整后,原基于UnionID静默拉取用户基础信息的接口已裁剪昵称、语言码等隐私字段,目前合规可落地的获取路径如下:
- 前端主动授权获取
所有涉及用户隐私的信息都需要用户主动授权同意后才可获取,不存在合规的静默获取通道:- 小程序场景:在用户点击等主动交互触发的逻辑中调用
wx.getUserProfile接口,弹窗获得用户确认后,返回结果中会直接包含昵称、语言码、头像等所需字段 - 公众号H5场景:配置网页授权作用域为
snsapi_userinfo,用户完成授权流程后,通过授权得到的code换取接口调用凭证,再请求用户信息接口即可拿到对应字段,该授权路径的返回字段不受之前静默拉取接口的裁剪规则影响
- 小程序场景:在用户点击等主动交互触发的逻辑中调用
- 业务侧存储优化
首次通过授权拿到用户的昵称、语言码信息后,直接将字段和用户对应的OpenID/UnionID绑定存储到自有业务数据库,后续用户访问时直接查询自有库数据即可,不需要重复向用户发起授权请求,能有效降低对用户的打扰 - 注意事项
不要尝试任何绕开用户授权的非合规手段获取用户隐私信息,微信平台对这类违规行为的检测和处罚力度很大,一旦命中会直接限制接口权限甚至封禁相关账号,影响业务正常运行。
内容的提问来源于stack exchange,提问作者Đức Nguyễn Văn
相关产品推荐
相关产品推荐

