收藏
回答

建议小程序login后通过code可以直接取得unionId

问题模块 框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 wx.logiin 客户端 无关 无关

反馈一个需求:

目前小程序login后,通过code获取openId信息,但只有在该用户同事关注了公众号或app的时候,才会返回unionId,否则只会返回openId

不清楚微信为什么这样设计,但会造成很多不便,

例如:

1、用户先访问了小程序,小程序为为了用户的体验,不要求获取用户的信息,则只会获取openID,而得不到unionID

2、用户又关注了小程序对应的公众号,但之前小程序的用户由于没有UnionId,无法与公众号的用户进行关联


为了确保小程序用户与公众号用户管理,开发者不得不调用getUserInfo接口获取用户的基本信息和unionId,但这样会降低用户体验,因为用户需要授权小程序获取头像等信息


建议小程序的wx.login接口中,判断该用户是否有有unionId,如果没有则创建新的unionId,用于小程序,公众号、app之间的共享




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

3 个回答

  • Layen
    Layen
    2018-02-24

    我记得是在开放平台申请了,才会有unionid

    2018-02-24
    赞同
    回复
  • 周冉
    周冉
    2018-02-24

    是的呢,一个UnionID有啥保密的……搞得这么麻烦,还得用户授权。

    2018-02-24
    赞同
    回复
  • 闫峰
    闫峰
    2018-03-03

    login是会返回openId,unionId和openId是一个保密级别的,没返回的原因只可能是小程序是个后儿子,没有创建unionId的权力。只有公众号、app创建过了,才能获得。

    2018-03-03
    赞同
    回复