收藏
回答

求教:unionid:null

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug getuserInfo 客户端 Android 6.6.7 1.9.90

通过button按钮点击授权,login拿到了code,然后调起getuserInfo拿到encryptedData和iv去后台解密,返回的参数里只有openid和session_key,unionid:null,求教这是怎么回事啊

最后一次编辑于  2018-06-11
回答关注问题邀请回答
收藏

2 个回答

  • gezi1003
    gezi1003
    2018-06-11

    需要小程序关联开放平台账号才能获取到unionid, 首先要认证开放平台账号。

    2018-06-11
    赞同
    回复 6
    • Nan
      Nan
      2018-06-11

      已经认证完了,有些手机能拿到,有些拿不到,比如注册的新号就拿不到

      2018-06-11
      回复
    • gezi1003
      gezi1003
      2018-06-11

      那估计是你getUserInfo不是每次都取的最新的,是不是有从缓存里取?如果从缓存里取的话就拿不到。Code只能用一次。

      2018-06-11
      回复
    • Nan
      Nan
      2018-06-11回复gezi1003

      每次都是进来授权的时候直接调的getUserInfo,应该不会有缓存啊。。。code只在解密的时候用了一次。。。

      2018-06-11
      回复
    • Nan
      Nan
      2018-06-13回复gezi1003

      谢谢,已经解决了,是后台的解密算法出了问题

      2018-06-13
      回复
    • 木子李༦༧ོུ
      木子李༦༧ོུ
      2018-07-20回复Nan

      出什么问题?

      2018-07-20
      回复
    查看更多(1)
  • 素还真
    素还真
    2018-06-11

    获取用户信息不是 getUserInfo 吗?

    最好是吧你的代码贴出来!

    2018-06-11
    赞同
    回复 8
    • Nan
      Nan
      2018-06-11

      大小写拼错了,代码上没问题,有些手机能拿到,有些拿不到,比如注册的新号就拿不到

      2018-06-11
      回复
    • 素还真
      素还真
      2018-06-11回复Nan

      那你看下是不是code被使用过了,

      比如注册新号的时候,

      代码某处已经获取了用户信息,

      然后你注册的时候又用那个code去获取信息!

      2018-06-11
      回复
    • Nan
      Nan
      2018-06-11回复素还真

      只有程序初始化的时候获login了一次,然后解密的时候用了一下code。。。这里有什么不对的吗。。。?

      2018-06-11
      回复
    • 素还真
      素还真
      2018-06-11回复Nan

      没有问题

      要不再获取不到信息的时候

      你把所有的参数打印出来,然后手动解密,看看是不是那些参数有问题!

      2018-06-11
      回复
    • Nan
      Nan
      2018-06-11回复素还真

      如果是参数问题的话,openid也不应该给我返回啊,现在是openid都能返回,新用户就是没关注过公众号也没在app上受过权的账号拿不到unionid

      2018-06-11
      回复
    查看更多(3)