收藏
回答

已经关联公众号,小程序也在开放平台绑定了,还是获取不到unionId?

已经是开放平台的小程序

但是拿code 获取到sessionKey之后,返回的json没有unionId

接着拿encryptedData和iv解析出来的时候也是没有unionId

怎么回事?


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

3 个回答

  • 皇家智能
    皇家智能
    2020-06-09

    调用接口 wx.getUserInfo,从解密数据中也获取不到 UnionID,卡了我一天了,也不知道啥原因

    2020-06-09
    有用
    回复 1
    • Debugger
      Debugger
      2020-06-09
      我是获取手机号,拿前端的code去请求,在我的开发的小程序下是可以获取的到的,但是正式环境就获取不到.
      两个小程序是同一个开放平台下的小程序,郁闷死了
      2020-06-09
      回复
  • Admin ²º²³
    Admin ²º²³
    2020-06-09

    你需要把小程序和公众号绑定到同一个开放平台。相关说明:

    UnionID 机制说明

    如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的。


    UnionID获取途径

    绑定了开发者帐号的小程序,可以通过以下途径获取 UnionID。


    调用接口 wx.getUserInfo,从解密数据中获取 UnionID。注意本接口需要用户授权,请开发者妥善处理用户拒绝授权后的情况。


    如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号。开发者可以直接通过 wx.login + code2Session 获取到该用户 UnionID,无须用户再次授权。


    如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用。开发者也可以直接通过 wx.login + code2Session 获取到该用户 UnionID ,无须用户再次授权。


    用户在小程序(暂不支持小游戏)中支付完成后,开发者可以直接通过getPaidUnionId接口获取该用户的 UnionID,无需用户授权。注意:本接口仅在用户支付完成后的5分钟内有效,请开发者妥善处理。


    小程序端调用云函数时,如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号,可在云函数中通过 cloud.getWXContext 获取 UnionID。


    小程序端调用云函数时,如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用,也可在云函数中通过 cloud.getWXContext 获取 UnionID。

    2020-06-09
    有用
    回复 1
    • Debugger
      Debugger
      2020-06-09
      小程序和公众号是同一个开放平台,现在不是不一致的问题,是小程序获取不到unionId,unionId根本就没有返回
      2020-06-09
      回复
  • 张有釜
    张有釜
    2020-06-09

    unionid和是否关联公众号没有关系 只和绑定的开放平台有关系

    开发工具重启试试

    绑定后微信服务器也需要一小段时间同步数据

    如果之前这个微信在绑定开放平台之前已经授权过了 重新login 解密一下 看看有没有

    2020-06-09
    有用
    回复 7
    • Debugger
      Debugger
      2020-06-09
      不管是开发工具或者是线上环境都获取不到了.
      已经重启过,清理缓存,重新解密各种方法都试过了.
      而且也肯定也绑定了开放平台
      自从5月8号开始就不能用的,最近才发现
      2020-06-09
      回复
    • 张有釜
      张有釜
      2020-06-09回复Debugger
      其他微信也是相同的原因?是不是认证到期了呢
      2020-06-09
      回复
    • Debugger
      Debugger
      2020-06-09
      认证没有到期,我刚刚测试了一下,我关注了同主体下的一个微信公众号,接着拿code去获取sessionKey的同时,返回实体里面有unionId了.
      但是我取消关注之后unionId就没了.
      这个就很诡异啊,总不能让所有用户都先关注我们公众号吧
      2020-06-09
      回复
    • 张有釜
      张有釜
      2020-06-09回复Debugger
      只在小程序端登录 没关注公众号 就没有unionid?
      且 只有这个特定小程序出现问题?
      2020-06-09
      回复
    • Debugger
      Debugger
      2020-06-09
      对啊,正式的就出现问题了
      我刚刚把所有相关的公众号都取关了,包括测试的环境的公众号.
      然后测试环境通过 jscode2session 这个api去请求,还是有uinionId
      但是正式就是没有,无语死了
      2020-06-09
      回复
    查看更多(2)
登录 后发表内容
问题标签