小程序能否使用OpenId获取UnionId
发布于 5 年前 作者 cuilei 3802 次浏览 来自 问答

https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

这是使用公众号的token和openId获取UnionId的API,之前用小程序的Access_token和OpenId测试但失败了,返回48001错误,未授权。请问小程序有没有类似的API,可以通过OpenId获取到UnionId,只在后台通过调用API实现,而不是小程序端用wx.login获取code过后的操作来获取。

3 回复

小程序有用户的OpenId说明用户已经用过小程序且授权了,不存在什么隐患,公众号还提供了批量用OpenId获取UnionId的API,这是为了填坑,一开始开发者不一定会用到开放平台,但是后续接入的时候老用户就需要批量获取UnionId。

小程序木有接口批量把OpenID转为UnionID。

wx.login能获取到OpenID,能不能获取到UnionID得看情况,如果这个用户先前没通过wx.getUserInfo授权过那么就获取不到。

所以你得搞两套判断,如果wx.login获取到UnionID了那皆大欢喜,如果不能的话还得引导用户通过wx.getUserInfo来授权你才能拿到UnionID,你说坑不坑!

问题人家微信就是为了避免后台直接全部获取,所以才固定在前端搞定。习惯了后,作为用户而言,还是很不错的,少了很多隐患,作为开发者也别嫌弃,用户体验好,生态圈才好,不然没用户,你写出来谁用?

小程序这边有一个getuserinfo可以获取到所有信息,敏感信息就包含这两个id,都是加密的,可以用小程序的那一套解密流程去解密,都可以的。。

回到顶部