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

访客4年前黑客文章454

如果你对 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。

相关文章

以Wonderpay为例,解读线上支付的产品设计

以Wonderpay为例,解读线上支付的产品设计

用纸币付款正在变得过时,更多人选择无现金支付。而在无现金支付中,除简单的付款流程外,有些现金返还优惠也很有趣。总体来说,大量无现金支付产品浮出水面,并试图最大化无现金支付体验。 背景介绍 Wonde...

职场上如何正确提问?掌握关键3点完美应对

职场上如何正确提问?掌握关键3点完美应对

会提问的人能在交流中高效获得答案,正确提问是职场人需要学会的一项技能。本篇文章如何正确提问进行分析,总结了三点方法,与大家分享。 不知道大家会不会遇到这种场景: 一场会议开完,主讲人问:“大家还有没...

新零售战略的底层逻辑

新零售战略的底层逻辑

目前疫情对零售业造成巨大影响,阶段性消费被抑制,线下流量断崖式下滑,导致现金流危机。那么对于新零售行业来说,又该采用什么样的战略,保全长期发展呢? 一、新零售主要特征 1. 传统零售与新零售 从商家...

品牌思考:为什么海底捞、西贝涨价又撤回?

品牌思考:为什么海底捞、西贝涨价又撤回?

前几天,不少网友与消费者发现海底捞和西贝纷纷涨价了,而在大众的质疑与声讨下, 他们又宣布撤回涨价决定,恢复原价。那么问题来了,这一系列操作背后有什么品牌知识呢? 随着大武汉封城解禁,疫情逐渐消弥,新...

每日优鲜:用户反馈分析与优化建议

每日优鲜:用户反馈分析与优化建议

本文以每日优鲜为体验对象,从配送服务、商品、客户售后、细节、功能等内容进行了体验与测评,并针对不足之处给出了优化建议。 本文是对2020年1月到4月里iOS App store中每日优鲜app的应用...

SaaS产品的业务调研避坑指南

SaaS产品的业务调研避坑指南

对于产品经理来讲,无论是c端产品还是SaaS产品,在接受一项新的产品/任务时,前期不仅需要了解业务,还需要再进一步了解业务需求,然而,这些全部都离不开产品调研,那么对于SaaS产品经理新人来讲该怎么去...