微信开放体系中的UnionId和OpenID
说明
AppId
平台给应用颁发的唯一ID,也叫做:AppKey
:::info
- AppID是不同类型的产品的帐号 ID ,是帐号的唯一标识符。
- 例如公众号的AppID、小程序的AppID、开放平台的AppID、第三方平台的AppID、移动应用的AppID、网站应用的AppID、小商店的 AppID 等等。
:::
OpenID
:::info
- openid是微信用户在不同类型的产品的身份ID。
- 微信用户访问公众号、小程序、移动应用、网站应用、小商店等都会有唯一的openid,但同一个微信用户访问不同的产品生成的 openid 也是不一样的。
- 例如,对于不同公众号,同一用户的 openid 不同;同理,对于不同的小程序,同一用户的 openid 也是不同的
:::
UnionID
:::info
- unionid是微信用户在同一个开放平台下的产品的身份ID。
- 如果开发者拥有多个移动应用、网站应用、和公众帐号(即公众号和小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的 UnionID 是唯一的。即,同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的。
:::
举例说明:
假定:
开发商:xxx科技有限公司,在微信平台有两个开放平台账号: dev_001
, dev_002
每个开放平台账号下,有2个平台应用:dev_001
: isv_app_0011``isv_app_0012
dev_002
: isv_app_0021``isv_app_0022
有一个微信用户张三
使用了该开发商的所有账号下的所有应用,那么开发商可获取到的张三的 ID的情况为:
dev_001
下- UnionID只有一个:
uid_zhangsan_001
- OpenID有两个:
isv_app_0011
下的oid_zhangsan_0011
、isv_app_0012
下的oid_zhangsan_0012
- UnionID只有一个:
dev_002
下- UnionID只有一个:
uid_zhangsan_002
- OpenID有两个:
isv_app_0021
下的oid_zhangsan_0021
、isv_app_0022
下的oid_zhangsan_0022
- UnionID只有一个: