分享好友 最新动态首页 最新动态分类 切换频道
微信小程序:一文彻底搞懂openid和unionid
2024-12-20 03:08

微信开发过程中,经常会遇到,一个企业有多个小程序和公众号,在不同的小程序和公众号中,会有不同的openid。如果想要确定是同一个人,就需要用到unionid机制。

微信小程序:一文彻底搞懂openid和unio<i></i>nid

1

官方关于unionid的说明是这样的

公众号文档的描述

开发者可通过OpenID来获取用户基本信息。特别需要注意的是,如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。

小程序文档的描述

如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的。

2

微信开放平台

提到unionid就不得不提微信开放平台了

open.weixin.qq.com 微信开放平台,刚开始是为了让开发商,可以支持很多的公众号,而产生的。原因是使用appid和appsecret的方式对于。小程序或公众号的所有者来说太危险,相当于暴露了用户名和秘密。为了安全,出现了开放平台,授权时可以灵活的控制授予哪些权限。开放平台相比appid和appsecret方式还有很多特权。对于开发者是很好的。

官方的说明比较简单,开发过程中会遇到不少的坑。下面说一下注意事项

进入开放平台,点管理中心。可以看到移动应用、网站应用、公众账号、小程序、第三方平台这些菜单。

如果要绑定公众号就,点击菜单,然后点击,填写公众账号、密码、验证码,点下一步,然后需要管理员扫码。之后就绑定了。

小程序的流程也差不多。

这与unionid的生成机制有关,unionid是用户与开放平台之间的对应关系,如果绑定多个会造成混乱。

3

unionid的值不同

第三方开放平台,开发过程中会遇到,同一个用户,在两个公众号下,获取到的unionid不同的情况。这种情况发送的原因是,两个公众号绑定到了不同的开放平台账号造成的。

不管是小程序还是公众号,一个开放平台的是有绑定限制的。比如小程序公众号

所以一般情况下,会让客户自己注册一个开放平台,然后把客户的公众号和小程序绑定上去。

比如注册开放平台是,注册小程序是,注册公众号是;注册开放平台是,注册小程序是,注册公众号是。

他们各自绑定各自的开放平台。和绑定,和绑定。

开发过程中会出现同一个微信用户,在和获取到的unionid是一样的比如都是;和中获取的unionid也是一样的。但是和获取的unionid不一样。

造成这样的原因是因为绑定的开放平台不用,每个unionid的产生,其实是用户跟开放平台的唯一对应关系。和绑定因此他们的unionid一样,和绑定在不同的开放平台所以取到的unionid不一样。

还有一点要注意,开发公司A的开放平台,同一个平台下创建多个用于开发,这些也会取到相同的unionid。

重要的事情说三遍,unionid其实是用户和开放平台账户的对应关系。

有一点值得注意:如果有个开发公司B,在开放平台,有公众号A授权的情况下,取到的unionid与获取的公众号A的unionid也会一样。这其实也是为了便于微信做大数据 分析,知道一个用户所有行为。

4

为什么需要openid

在微信小程序的开发过程中,往往需要将用户信息录入自己的数据库中,就得有一个唯一标记区分用户,这个标记就是openid。当一个用户使用了某个微信小程序,微信后台会产生一个openid,并且是唯一的,所以可以通过这个来区分用户。

另一方面,我们通过微信小程序API并不能获取到更多用户私密信息,只能获取到昵称,性别,居住地等公开的信息,微信号这种私密信息是获取到的,而通过这些昵称或者居住地,是没办法保证用户表里的用户数据是唯一的。

所以综合而言,如果不需要建立自己的用户数据库,就没必要使用openid;如果需要,就得获取openid。

顺便说一下,还有一个unionid的东西存在。现在同一家开发公司甲,既有微信小程序A,又有微信公众号B,都是用同一个开发平台账号开发的。

同时微信小程序A有个用户的openid是X,微信公众号B有个用户的openid是Y,那么我们怎么判断这两个用户是不是同一个人呢?所以引入了unionid的概念。

同一用户,对同一个微信开放平台下的不同应用,unionid是相同的 。什么意思呢?假如用户乙关注了这两个程序,那么乙在小程序A的应用中opendi是X,unionid是Z;同时乙在公众号B应用中的openid是Y,unionid是Z。

5

如何获取openid

获取openid主要是两个步骤

6

获取用户信息

既然要获取openid,那肯定就是要将用户录入数据库,那肯定也要获取用户信息。目前能通过wx.getUserInfo获取到的用户信息是例如昵称、性别这一类的公开信息。

1、用户授权

获取用户信息需要用户授权,那怎么授权呢?以前可以一进入页面就弹出授权框,现在不提倡了,文档建议使用button,设置open-type来授权。

如下代码,点击button,如果没有授权会弹出授权框,如果拒绝了,那个e.detail.userInfo就是false,会执行else里代码块,如果接受,则执行if为true的操作;如果之前就已经有授权了,就不会弹出授权框,直接执行if为true的操作。

在开发时候,可以在开发者工具上方,点击“清缓存”按钮,这样就可以清除以前的授权信息,得重新授权。

2、获取用户信息

最新文章
淘宝刷收藏软件
你是否在淘宝上经常遇到收藏数不够的尴尬?又或者是想要提升店铺的人气却束手无策?那么,今天就让我们一起来了解一款能帮你解决这些问题的神奇软件吧!它就是——淘宝刷收藏软件。这款软件不仅可以帮助你快速增加收藏数,还能提升店铺的人
济源企业网络飞跃,SEO优化助力在线腾飞新引擎
济源网络推广SEO优化,是企业在线腾飞的强力新引擎。通过深度优化网站,提升搜索引擎排名,帮助企业扩大在线影响力,吸引潜在客户,实现高效网络营销。助力企业快速提升品牌知名度,抢占市场份额。随着互联网的飞速发展,已经成为企业拓展
重庆seo关键词工具(重庆SEO优化工具)
在当今数字化时代,搜索引擎优化(SEO)对于企业在线可见性和品牌建设至关重要,尤其是在竞争激烈的市场环境中,如中国西南地区的经济中心——重庆。为了有效提升网站排名,吸引目标客户,利用专业的SEO关键词工具成为了许多企业和SEO从业
打造吸睛力MAX的文章标题,网络推广优化秘籍大公开
在网络推广优化中,打造吸引眼球的精彩文章标题需遵循以下策略:抓住关键词,确保标题与内容高度相关;运用疑问句、数字或特殊符号,增加标题的吸引力;创造性地使用比喻、夸张等修辞手法,使标题更具趣味性;简洁明了,避免冗长,确保读者
英文简历模板:打造专业求职文档
简历是求职者向潜在雇主展示自己的第一份文件。它需要清晰地传达求职者的职业背景、技能和成就,以便吸引雇主的注意并获得面试机会。一个精心编写的简历能够在众多申请者中脱颖而出,因此了解其基本构成和框架至关重要。英文简
全方位品牌曝光度提升,关键词推广优化营销策略解析
本文针对关键词推广优化策略,详细阐述了全方位提升品牌曝光度的方法。通过精准定位、内容营销、多渠道推广等手段,有效提升品牌知名度和市场份额。策略包括优化关键词、提升内容质量、利用社交媒体等,助力企业实现品牌价值最大化。随着互
GPT-4.0来袭:人工智能新纪元即将开启
1.1 计算效率 GPT-4o在计算效率上有了显著提升。这意味着它可以在同样的硬件资源下处理更多的请求,或在相同时间内完成更多的任务。这对于高并发应用场景(如大型客服系统)来说尤为重要。 1.2 响应速度 由于优化了底层
最新寄生虫站群 揭秘最新寄生虫站群:网络生态新威胁
警惕“最新寄生虫站群”:一场网络黑帽SEO的隐秘之战在当今这个数字化时代,互联网已经成为人们获取信息、交流思想、开展业务的重要平台然而,随着网络技术的飞速发展,一些不法分子也利用技术手段进行非法活动,其中,“最新寄生虫站群”
百度蜘蛛池优化:深度解析搜狗收录蜘蛛池代运营,助力网站优化,提升流量转化
深度解析搜狗收录蜘蛛池代运营,助力网站优化。通过百度蜘蛛池优化,有效提升网站流量和转化率,实现高效SEO推广。本文目录导读:什么是搜狗收录蜘蛛池代运营?搜狗收录蜘蛛池代运营的优势搜狗收录蜘蛛池代运营的操作方法如何有效提升网站
四、怎么样选择适合本身的文档智能写作软件
文档智能写作软件盘点:哪些软件更胜一筹?在数字化时代的浪潮中人工智能()技术正以前所未有的速度发展渗透到了咱们生活的各个领域。在写作领域文档智能写作软件以其高效、智能的特点成为了广大写作者和创作者的得力助手。本文将为您介绍
相关文章
推荐文章
发表评论
0评