openid 和 unionid 虽然都和用户标识有关,但含义完全不同。很多项目前期只存了 openid,后面做多端账号打通时才发现 unionid 并不是随时都能补出来。
先重点确认这几项:
- 先确认小程序、服务号、APP 是否已经绑定到同一个开放平台
- 核对当前用户是否走过能返回 unionid 的授权或登录链路
- 不要把 openid 当作可跨端通用的唯一账号标识
结合微信开放社区里出现过的类似提问,可以看到常见触发场景包括:
- 怎么在没有登录code的情况下通过openid获取用户在开放平台的unionid?:前期用户登录网页应用时只保存了 openid,未保存 unionid,后面新增 app 登录,需要通过 unionid 绑定相同账号,想确认没有登录 code 时能否补拿。
如果历史数据里只有 openid,通常要补设计新的绑定或补采集方案,而不是指望离线把所有 unionid 自动推导出来。
做合肥企业的会员、预约或商城项目时,账号体系一定要在立项阶段设计好,否则后面一旦要打通公众号、H5 和 APP,成本会明显放大。