什么是OpenID,UnionID,access_token?

OpenID是用户在小程序中的唯一标识。

UnionID是用户在微信开放平台上的唯一标识,包括小程序、公众号等,同一个用户的UnionID都是一样的。

access_token是后端调用微信接口用的。

分别如何获取?

1、获取OpenID

小程序调用wx.login,会返回一个code,将code传给后端,后端调用微信的auth.code2Session,就能获取到OpenID了。如果满足条件,也会返回UnionID,相关文档:

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html

2、获取UnionID

如果获取OpenID的时候没有获取到UnionID,就需要调用wx.getUserInfo获取加密的用户数据,将数据传给后端,后端根据微信提供的解密方法,就能获取到UnionID了。

后端解密需要session_key,这是在获取OpenID时得到的

调用wx.getUserInfo需要用户授权,现在弹出授权窗口的方式,只能由用户主动点击open-type="getUserInfo"button

3、获取access_token

后端调用auth.getAccessToken获取。

标签: 微信小程序, OpenID, UnionID, access_token