收藏
回答

为什么对于同样一个用户,openid会变啊

问题模块
API和组件

我听信了微信的改动,在一开始不请求userinfo了。然后我发生了这样一个情况。


用户在小程序端登录,发来code。


我解析code,只得到open_id。并未得到union_id。(但是我自己的手机发来code是可以得到union_id的,那个用户的微信版本是6.5.12)。


然后这个用户的这个open_id,和她以前的open_id不一样。然后我就在后台又生成了一个新用户。然后用户给了我userinfo授权之后,发现自己之前的资料都没了,我一查发现两个union_id一样,但是open_id不一样的用户。其实是同一个人。


会有情况会发生对于同一个用户,open_id变掉的吗?

最后一次编辑于  2017-08-18  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

7 个回答

  • 晨
    2017-08-18

    是否都是在同一个小程序中登录的用户?openId只在同一个appId下是唯一的。

    2017-08-18
    赞同
    回复
  • 朱曦炽
    朱曦炽
    2017-08-18

    对的,我这个后台只给一个小程序用的。


    然后文档里面不是说现在光用code就都能拿到union_id了吗?为什么我这些人都只能拿到open_id?


    我现在后台有好几个人是有不同的openid但是相同的union_id的,要我提供吗?

    2017-08-18
    赞同
    回复
  • 朱曦炽
    朱曦炽
    2017-08-18

    但是我自己的账号登录,是可以通过API来获得union_id的:


    https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code


    但是我刚又叫这些用户试了下,我用这个api就是得不到这些用户的union_id。

    2017-08-18
    赞同
    回复
  • 晨
    2017-08-18

    直接获取unionId是有限制条件的,请参考 https://developers.weixin.qq.com/blogdetail?action=get_post_info&lang=zh_CN&token=304257714&docid=c45683ebfa39ce8fe71def0631fad26b


    openId变化的问题请提供几个例子,周一我联系相关的技术人员看一下。

    2017-08-18
    赞同
    回复
  • 朱曦炽
    朱曦炽
    2017-08-18

    好的。谢谢。


    用户1:


    open_id: 'oqm_50MdGdWXFEumQwmN7vjzPB5I'

    union_id: 'o2ecNs2WcOkqRQOTmMwSeqrSh-_U'


    同样的用户1:


    open_id: 'oqm_50BS5wllO3bj3cDzVY1jsltc'

    union_id: 'o2ecNs2WcOkqRQOTmMwSeqrSh-_U'




    用户2:


    open_id: 'oqm_50I1iItWp06G4ze2VchGGOKI'

    union_id: 'o2ecNs3nzvvjGA3pr7T-yShRD5Ak'


    同样的用户2:


    open_id: 'oqm_50DsUNIeg41Lg6phw2PsogG4'

    union_id: 'o2ecNs3nzvvjGA3pr7T-yShRD5Ak'




    2017-08-18
    赞同
    回复
  • 晨
    2017-08-22

    你好,我们这边查到的结果是你给的每个case的第一条的unionId和openId都不是同一个用户,第二条才是同一个用户。请检查服务端逻辑是否有误。

    2017-08-22
    赞同
    回复
  • HAITAO🇨🇳
    HAITAO🇨🇳
    2017-09-19

    我能问下,获取openId和unionId这个接口请求域名需要在小程序公众平台中,设置-->请求合法域名中备案吗?我现在是小程序直接调用,告诉我合法域名校验出错,然后我在那个位置添加,系统又告诉我不能把这个域名添加上(我猜可能是微信小程序的域名特殊吧)

    2017-09-19
    赞同
    回复