code换取微信openid_微信的账号体系及各种 ID

ea8efb0aebfe602cc3204c86f35d8087.png

如何利用好微信生态的账号体系?

首先我们需要明确几个名词,主体、微信开放平台帐号、微信公众平台、UnionID、OpenID

词条

主体

微信生态下的主体常指公司主体,维基百科没有这个此条,根据微信的说法则是“由相关主管部门证明的合法机构”,那么通俗点就是在工商局登记在册的公司。例如 QQ、微信背后的公司主体是 “深圳市腾讯计算机系统有限公司”,抖音、火山小视频、Tik Tok 背后的主体是 “北京微播视界科技有限公司”。当然,除了公司,主体还包括事业单位、民办非企业单位等等。微信进行认证时,只需要提供主体证件即可。

微信开放平台

微信开放平台为接入平台的应用模块提供开放接口以及技术支持服务,面向对象包括移动应用(iOS、Android、WP)、网站应用、公众号、小程序以及第三方平台。同一个开放平台账号可以绑定多个应用,同一开放平台账号下的不同应用,对同一用户而言他的 UnionID 是唯一的。

同一个开放平台账号绑定应用限制:

  1. 移动应用
  2. 已认证(组织类型)帐号可绑定最多50个移动应用。
  3. 未认证(个人类型)帐号可绑定最多10个移动应用。

2.网站应用 - 一个帐号可申请最多10个网站应用。

3.公众号 - 已认证(组织类型)帐号可绑定最多50个同主体公众号、5个不同主体公众号及5个公众号测试号,一个月最多新增绑定5个不同主体的公众号。 - 未认证(个人类型)帐号不支持绑定公众号及公众号测试号。

4.小程序 - 已认证(组织类型)帐号可绑定最多50个同主体小程序、5个不同主体小程序,一个月最多新增绑定5个不同主体的小程序。 - 未认证(个人类型)帐号帐号不支持绑定小程序。

备注:以上“同主体”指的是:公众号/小程序的主体信息与开放平台主体信息相同;“不同主体”指的是公众号/小程序的主体信息与开放平台主体信息不相同。

微信公众平台

公众平台的内容就是我们日常接触到的公众号(订阅号、服务号、企业号)

公众号注册限制: - 同一个邮箱只能申请1个公众号; - 同一个手机号码可绑定5个公众号; - 同一身份证注册个人类型公众号数量上限为1个; - 同一企业、个体工商户、其他组织资料注册公众号数量上限为2个; - 同一政府、媒体类型可注册和认证50个公众号。

OpenID

每个用户在使用不同应用时(公众号、小程序、移动应用、网站等),微信会为每个用户针对不同的应用生成一份 OpenID

UnionID

类似于 OpenID 与应用关联,UnionID 与开放平台账号关联,同一用户,对同一个微信开放平台下的不同应用,UnionID 是相同且唯一的。

获取 OpenID

OpenID 的获取方式是静默的,无需用户授权 客户端通过 wx.login() 拿到临时登录凭证 code,并且回传到开发者服务器,服务端带着 code + appid + appsecret 调用 code2Session 接口换取用户 OpenID 以及其他数据

授权流程如图:

e242fd78e65bf3cd1d613630c8896c88.png

获取 UnionID

不同于 OpenID 的静默获取方式,获取 UnionID 时,必须拿到用户授权,授权方式包括同意获取用户基础信息、关注公众号、授权登录移动应用、授权登录网站等,在拿到用户授权后,开发者通过对应接口拿到用户的 UnionID

UnionID 获取接口: - 用户已经授权,直接调用 wx.getUserInfo,从解密数据中获取 UnionID。 - 同一开放平台账号下其他应用已经拿到过授权(用户关注了公众号、用户已经授权登录过公众号或移动应用等),可以直接通过 wx.login + code2Session 获取到该用户 UnionID。(云函数中通过 cloud.getWXContext ) - 用户在小程序中支付完成后,可以直接通过 getPaidUnionId 接口获取该用户的 UnionID,无需用户授权。(注意:接口仅在用户支付完成后的5分钟内有效。)

小程序通过 wx.getSetting 接口可以获取小程序已经向用户请求过的权限列表 - 未请求过的权限,除 userInfo 均可通过接口向用户发起授权请求,而 userInfo 则必须使用 <button open-type="getUserInfo"/> 方式,由用户点击按钮才能发起。 - 请求过的权限,当用户拒绝权限申请时,如果产品逻辑被阻塞,可调用 wx.oepnSetting 接口打开小程序设置界面,引导用户开启权限,当然,userInfo 权限被拒绝后仍可以通过 <button open-type="getUserInfo"/> 方式继续向用户发起权限请求。

320e2c6e14995ae5bff43da5b5657640.png

UnionID 与内部数据打通

在获得用户授权,拿到 UnionID 后,可以通过验证用户手机号,将 UnionID 作为用户信息的一部分,给用户带来的便利是不用每次验证手机号,同时也给公司省了一笔话务的费用,一次打通,多端复用,APP、小程序、H5 活动,可以利用微信生态将所有场景串联。

更重要的是以此积累的数据,通过多端积累的海量 UnionID,可以对用户行为数据进行详细分析,进行精准推送,这种数据带来的价值不可估量。

参考资料

  • 微信公众平台
  • 腾讯客服-开放平台
  • 腾讯客服-公众平台
  • 用户信息
  • 授权
  • AuthSetting
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值