微信账户体系科普:什么是UnionId、OpenId与wxopenid?

访客4年前黑客文章431

如果你对 UnionId、OpenId、wxopenid这三个概念傻傻分不清,那看这篇文章就对了。了解微信账户体系,能帮助你更好地做小程序设计。

微信账户体系科普:什么是UnionId、OpenId与wxopenid?

01 概念解释 1. 小程序OpenId

OpenId 是一个用户对于一个小程序/公众号的标识,开发者可以通过这个标识识别出用户。类似 wxopenid,同一个人,使用不同的小程序,会留下不同的小程序 OpenId 。获取小程序 OpenId 无需用户操作和授权。

2. UnionId

UnionId 是一个用户对于同主体微信小程序/公众号/APP的标识,开发者需要在微信开放平台下绑定相同账号的主体。开发者可通过 UnionId,实现多个小程序、公众号、甚至APP 之间的数据互通。

正常情况下,微信生态中,UnionId 是用户身份的唯一标识,(如果业务涉及不同主体,不一定)。

所以,如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionId 来区分用户的唯一性。

3. 公众号OpenId(简称 wxopenid)

同一个人,关注不同的公众号,会留下不同的wxopenid。大帐号、小帐号因为绑定在一起了,所以会是同一个wxopenid。

同一个用户,在同主体的小程序和公众号下,会有各自的 OpenId ,不相同,不能混用。

以上,所有 ID 均并不包含敏感信息,只是个普通的 ID。

02 唯一性说明

一个人,在同主体的小程序、公众号等下面只有 1 个 UnionId,有多个 wxopenid 和多个小程序OpenId 。

UnionId是同主体应用下唯一身份证,可以查询对应的wxopenid和小程序OpenId。因此,UnionId 的覆盖率是更高的。当用户关注公众号、逛公众号下面H5时,可以同时获取 UnionId、wxopenid。而逛小程序时,可以同时获取小程序 UnionId、openid。不管逛哪都能拿到 UnionId。

在单个小程序或公众号里,OpenId 是唯一的。当同一个小程序主体下有多个小程序时,每个小程序有自己的 OpenId,因此需要 UnionId 进行唯一身份标识,即:UnionId 是同个主体下不同小程序的用户唯一标识;

03 获取方式 1. wxopenid

查看:获取设备及用户信息

2. OpenId

通过调用 wx.login() ,获取临时登录凭证凭证 code

App({ onLaunch: function() { wx.login({ success: function(res) { if (res.code) { //发起 *** 请求 // code: 就是登录凭证(code) } } }); } })

前端获取到 code 后,将 code 传给后端,后端调用接口获取 session\_key 和 OpenId ,接口如下:

https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code= *** CODE&grant_type=authorization_code 3. UinionId

前提条件:

微信开放平台帐号已完成开发者资质认证

微信开放平台绑定小程序

获取 UnionId 流程:

调用接口  wx.getUserInfo ,从解密数据中获取 UnionID。注意本接口需要用户授权,请开发者妥善处理用户拒绝授权后的情况。

如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号。开发者可以直接通过  wx.login  + code2Session 获取到该用户 UnionID,无须用户再次授权。

如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用。开发者也可以直接通过 wx.login + code2Session 获取到该用户 UnionID ,无须用户再次授权。

用户在小程序(暂不支持小游戏)中支付完成后,开发者可以直接通过 getPaidUnionId 接口获取该用户的 UnionID,无需用户授权。注意:本接口仅在用户支付完成后的5分钟内有效,请开发者妥善处理。

小程序端调用 时,如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号,可在云函数中通过 cloud.getWXContext 获取 UnionID。

小程序端调用 云函数 时,如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用,也可在云函数中通过  cloud.getWXContext  获取 UnionID。

相关文章

产品经理写简历时,需避开 8 大致命缺陷

产品经理写简历时,需避开 8 大致命缺陷

关于如何写简历、简历上些什么的文章大家看了很多。那么细分到产品经理这个岗位来说,写简历又有什么需要注意的呢?如何在简历上完美地呈现自己的工作经历与项目经验,凸显自己的竞争优势呢? 为什么海投众多企...

短视频的第二战场:抖音、快手、B站剪辑软件PK

短视频的第二战场:抖音、快手、B站剪辑软件PK

导读:如同微信公家号有秀米、135等图文编辑软件一样,抖音、快手、B站上各类炫酷的视频,也离不开视频剪辑软件。抖音的剪映APP、快手的快影APP、B站的必剪APP等视频剪辑软件争相推出,掀起了短视频规...

以玩物得志app为例,做翡翠电商行业竞品分析

以玩物得志app为例,做翡翠电商行业竞品分析

笔者将目光聚焦至翡翠电商行业,以玩物得志app为例,分析它的业务模式与产品结构,并借以改进笔者所负责的同类产品,找到新的产品发力点。 1 调研概述 1.1 调研背景 在2015年时,翡翠电商行业才开...

如何让数据分析在内容运营中发挥作用?

如何让数据分析在内容运营中发挥作用?

内容运营,比内容自己更重要的是好的内容分发矩阵,运营需要相识各大平台的特点举办垂直化运营,同时,团结数据阐明,对内容举办有效推广。本文作者分享了如何成立内容分发矩阵的相关常识,并对团结数据阐明做好运营...

从数据角度,聊聊老乡鸡200元战略发布会

从数据角度,聊聊老乡鸡200元战略发布会

本文作者从数据分析视角出发,对老乡鸡“200元战略发布会”营销事件进行了分析并总结了几点值得学习的运营策略,与大家分享。 一场“预算200元”,短短10分钟的战略发布会,一经推出,阅读量即破10万+...

用户管理的设计原则

用户管理的设计原则

后台的使用者通常是企业的各类权限的管理员,通过对用户管理的合理设计,让管理员准确、高效地完成既定任务,来实现用户管理的价值。 后台产品的使命是为企业提升效率,降低成本,而用户管理是后台的核心部分,用...