收藏
回答

业务需要进入页面的时候需要用户的openId和unionid,大家都是怎么做的?

业务需要进入页面的时候需要用户的openId和unionid,大家都是怎么做的?


怎么设计交互?

如果没有unionid使用小程序和app会生成两个账号

但是wx.getUserInfo不让直接调用了不能直接获得unionid


求解

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

4 个回答

  • 段成伟
    段成伟
    2018-05-15




    很多时候都没有unionid

    2018-05-15
    赞同 1
    回复 2
    • 的米
      的米
      2018-05-15
      登录凭证校验 临时登录凭证校验接口是一个 HTTPS 接口,开发者服务器使用 临时登录凭证code 获取 session_key 和 openid 等。 注意: 会话密钥session_key 是对用户数据进行加密签名的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。 UnionID 只在满足一定条件的情况下返回。具体参看UnionID机制说明(https://developers.weixin.qq.com/miniprogram/dev/api/unionID.html) 临时登录凭证code只能使用一次
      2018-05-15
      回复
    • 段成伟
      段成伟
      2018-05-15回复的米
      这个我也是看到了的 问题就在于绝大部分用户都是新用户,就会是这三种中的第一种情况,然后不能满足我们的要求 UnionID获取途径 绑定了开发者帐号的小程序,可以通过下面3种途径获取UnionID。 1.调用接口wx.getUserInfo,从解密数据中获取UnionID。注意本接口需要用户授权,请开发者妥善处理用户拒绝授权后的情况。 2.如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号。开发者可以直接通过wx.login获取到该用户UnionID,无须用户再次授权。 3.如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用。开发者也可以直接通过wx.login获取到该用户UnionID,无须用户再次授权。
      2018-05-15
      回复
  • 的米
    的米
    2018-05-15

    用 wx.login 获取 openid, unionid

    2018-05-15
    赞同
    回复 2
    • 段成伟
      段成伟
      2018-05-15
      我现在确实是 但是发现大量用户都获取不到unionid
      2018-05-15
      回复
    • 的米
      的米
      2018-05-15回复段成伟
      原因是用户没有关注关联公众号,或用户没有授权。 wx.login 不会显性要求用户授权或关注公众号,因此有可能取不到 unionid. wx.getuserinfo 会显示要求用户授权,所以只要用户同意了,总是能取到。 建议在没有取到 unionid 时,提示用户关注公众号,或在小程序中,使用 button 来要求用户授权。
      2018-05-15
      回复
  • 齐齐劳伦
    齐齐劳伦
    2018-05-15

    先注册开放平台 才能拿到unionId

    2018-05-15
    赞同
    回复 1
    • 段成伟
      段成伟
      2018-05-15
      目前不行 跟开放平台无关
      2018-05-15
      回复
  • 娇华
    娇华
    2018-05-15

    你好,建议先了解下获取unionid的机制说明UnionID机制说明

    2018-05-15
    赞同
    回复 1
    • 段成伟
      段成伟
      2018-05-15
      深刻了解过了 你们不让直接获取而已
      2018-05-15
      回复