收藏
回答

请问各位大佬,微信openid如果通过不同的形式进入会有重复么?

如题,现在遇到个问题有个疑惑,如果开始微信没有绑定多个平台,而是通过不同方式进入是否会产生openid重复的事儿,比如通过公众号进入获取的openid,通过app进入获取的openid,以及通过小程序进入获取的openid这三种不同形式进入都会产生独有的openid,在没有将这三个进行绑定时没有unionid; 现在就想问三种方式产生的openid是否会产生重复,比如通过公众号生成的openid,已经入库,如果现在通过app或者小程序或者其联合绑定之后再次生成openid或者unionid是否会与公众号产生的openid重复,导致登录时用户信息覆盖的情况?

回答关注问题邀请回答
收藏

1 个回答

  • 巢皮
    巢皮
    2022-08-01

    理论上有可能重复。

    unionid就可以拿到唯一的id,但很多api接口都需要你通过openid拿数据,因此你要分开一个用户有公众号openid,小程序openid,等等来入库,不能一个用户只有一个openid。

    2022-08-01
    有用
    回复 13
    • 天边行云
      天边行云
      2022-08-01
      好的,了解;那请问联合unionid和单个应用openid是否可能会重复呢?
      2022-08-01
      回复
    • 巢皮
      巢皮
      2022-08-01回复天边行云
      你会发现unionid格式和openid会不太一样。但是,这两个id是两个不同的id,使用时候不应该混在一起吧,因此也不需要考虑是否可能重复的问题吧?
      2022-08-01
      回复
    • 天边行云
      天边行云
      2022-08-01
      嗯,不过现在有个尴尬的情况就是库里现在存储unionid字段可能还有之前老早之前的单个平台的openid,虽然以后不会出现单平台的openid但是之前老数据还是要考虑下所以有此一问;  

      另外联合unionid这个按理来说不应该存在重复的情况,但是我们一位用户反馈他登录时(通过unionid拿取信息)获取的用户信息并不是他自己的而是一个刚刚注册几天的用户信息(也是unionid)这种情况有可能是因为unionid重复导致么?
      2022-08-01
      回复
    • 巢皮
      巢皮
      2022-08-01回复天边行云
      没太明白“刚刚注册几天的用户信息”是什么,但你可以看看问题原因是否这个原因造成:https://developers.weixin.qq.com/community/minihome/doc/000c2c34068880629ced91a2f56001 因为微信最近这波“优化用户体验设计”操作,会让公众号可能拿到虚假的unionid。


      修改数据库,让unionid和openid分开保存才是王道啊。或者给以前的老openid先统一加个前缀,这样以后取出来的id先判断是不是有前缀,有就说明是openid,没有的话就是unionid,这样也不会担心重复问题。
      2022-08-01
      回复
    • 天边行云
      天边行云
      2022-08-01
      是的,现在就是分开保存的unionid以及openid; 

      刚刚注册几天的用户,指的是数据已经存储了用户unionid(非空的),然后第二个用户通过授权接口获取微信unionid时获取了跟库里一模一样的unionid了,但是第二个用户又否认那个用户是他的,他说用户信息(通过unionid抓取的存储信息)他不认识也不知道那个用户是谁,这就很尬了
      2022-08-01
      回复
    查看更多(8)
登录 后发表内容
问题标签