微信openid和UnionID (多公众号如何判断是否是同一人)

时间:2024-03-08 12:38:52

以下内容源于网络,因为非博客园信息,有想收藏,只能直接复制粘贴了,还希望原稿人员理解。

 

 

微信公众平台更新,为开发者提供UnionID机制

经开发者反馈,由于同一公司下多个公众号之间需要用户帐号互通,微信开放平台提供了UnionID机制,来解决此问题。

通过获取用户基本信息接口,开发者可通过OpenID来获取用户基本信息,而如果开发者拥有多个公众号,可使用以下办法通过UnionID机制来在多公众号之间进行用户帐号互通。

1. 将多个公众号绑定到同一个微信开放平台(open.weixin.qq.com)帐号下,即同一个Union下

2. 通过获取用户基本信息接口中的UnionID来区分用户的唯一性,不过需要注意的是:公众号只有在被绑定到微信开放平台帐号下后,才会获取UnionID。只要是同一个微信开放平台帐号下的公众号,用户的UnionID是唯一的。换句话说, 同一用户,对同一个微信开放平台帐号下的不同应用,UnionID是相同的。

 

一、注册微信开放平台

地址:http://open.weixin.qq.com/

过程略。

 

二、绑定微信公众号

点击顶部 “管理中心”,选择进入“公众号”,再点击“绑定公众号”

点击查看原始尺寸

只有通过微信认证的公众号才能绑定。

 

三、获取用户基本信息

这是使用高级接口中的获取用户基本信息来实现,方法参考 微信公众平台开发(86) 获取用户基本信息

在第一个公众号下面获得的方倍的用户信息如下:

复制代码
{     "subscribe": 1,     "openid": "oLVPpjqs9BhvzwPj5A-vTYAX3GLc",     "nickname": "方倍",     "sex": 1,     "language": "zh_CN",     "city": "广东",     "province": "深圳",     "country": "中国",     "headimgurl": "http://wx.qlogo.cn/mmopen/utpKYf69VAbCRDRlbUsPsdQN38DoibCkrU6SAMCSNx558eTaLVM8PyM6jlEGzOrH67hyZibIZPXu4BK1XNWzSXB3Cs4qpBBg18/0",     "subscribe_time": 1375706487,     "unionid": "oTBn-jt2RQSHdBoJQYFSdnZo8BBQ" }
复制代码

在第一个公众号下面获得的方倍的用户信息如下:

复制代码
{     "subscribe": 1,     "openid": "ouBMEj6WFnUFBIUKe83VD7s7dft9",     "nickname": "方倍",     "sex": 1,     "language": "zh_CN",     "city": "广东",     "province": "深圳",     "country": "中国",     "headimgurl": "http://wx.qlogo.cn/mmopen/utpKYf69VAbCRDRlbUsPsdQN38DoibCkrU6SAMCSNx558eTaLVM8PyM6jlEGzOrH67hyZibIZPXu4BK1XNWzSXB3Cs4qpBBg18/0",     "subscribe_time": 1375726425,     "unionid": "oTBn-jt2RQSHdBoJQYFSdnZo8BBQ" }
复制代码

注意两个不同的用户信息

在不同的公众账号下openid是不一样的,而他们的unionid却是一样的。其他的信息不具有唯一性,没有比较意义。但基本信息是一致的。

这样就知道了关注两个公众账号的其实是同一个人。

 

四、UnionID的意义

对于拥有多个账号的企业来说,unionid可以帮助识别不同公众账号下的用户是否是同一个人。这样在不同账号下对该用户提供的服务可以连续起来了。

还可以去除重复关注的用户数,便于统计真实的关注用户总数。