openId 和 unionId 是微信平台提供的两种不同的用户标识符,它们的主要区别在于使用的场景和唯一性的范围。
openId:
- openId 是针对每个微信应用(如公众号、小程序等)的用户的唯一标识。
- 对于同一个应用,每个用户的 openId 是唯一的。
- 不同的应用对于同一个用户会生成不同的 openId。
- openId 类似于用户在某个具体应用内的“会员卡”,仅在该应用内有效。
unionId:
- unionId 是针对微信开放平台下的多个应用(包括公众号、小程序等)的用户的统一标识。
- 对于同一个微信开放平台账号下的所有应用,每个用户的 unionId 是唯一的。
- 同一个用户在同一个微信开放平台账号下的不同应用中会有相同的 unionId。
- unionId 类似于用户在一个集团或组织内的“通行证”,可以在该集团下的多个场所使用。
总结来说:
- openId 在单一应用中唯一,不同应用间不通用。
- unionId 在同一微信开放平台账号下的多个应用中唯一,可以跨应用使用。