V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
NullException
V2EX  ›  问与答

关于微信公众号获取用户 unionid 的问题?

  •  
  •   NullException · 2018-07-12 09:13:56 +08:00 · 4486 次点击
    这是一个创建于 2360 天前的主题,其中的信息可能已经有所发展或是发生改变。
    背景:
    1.之前公司首先开通了微信公众号(包括服务号跟订阅号),开发的项目中配置的是服务号的 appid。
    2.目前公司需要开发小程序,并且需要打通用户体系,所以最近申请开通了微信开放平台用来获取唯一的 unionid。
    文档技术调查:
    微信官方没有提供关于通过服务号 openid 或者其他微信用户信息获取用户 unionid 的接口,只能通过用户再次授权才可以。
    问题:
    之前存储的微信用户信息中没有 unionid,如果小程序上线后用户从小程序进去,用户微信信息就会产生两条。请问大神如何优雅的填此坑?
    NullException
        1
    NullException  
    OP
       2018-07-12 09:48:46 +08:00
    有没有大神遇到过此坑?
    paullee
        2
    paullee  
       2018-07-12 09:53:38 +08:00
    作为产品汪都知道凡事先查文档,而且要仔细的查:
    这就是你想要的获取 unionid 的接口文档

    https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140839
    NullException
        3
    NullException  
    OP
       2018-07-12 10:04:33 +08:00
    @paullee 不好意思,背景没写清楚。之前公司开通服务号跟订阅号后,项目中配置的是服务号的 appid,但是运营对外推的一直是订阅号,导致用户关注订阅号后授权的是服务号。你发的接口地址我之前都仔细看过了,没关注过服务号的用户是拉取不到用户 unionid 的。所以这个坑很难受。
    fakeJas0n
        4
    fakeJas0n  
       2018-07-12 10:26:41 +08:00
    订阅号不能授权
    服务号可以授权
    可以用服务号授权嫁接到订阅号上
    NullException
        5
    NullException  
    OP
       2018-07-12 10:40:25 +08:00
    @fakeJas0n 兄台可有相同的填坑经历?
    fakeJas0n
        6
    fakeJas0n  
       2018-07-12 10:45:31 +08:00
    @NullException #5 是用手机号来保证用户的唯一性,建议看一下接口权限
    https://kf.qq.com/faq/170104AJ3y26170104Yj673y.html
    NullException
        7
    NullException  
    OP
       2018-07-12 10:56:39 +08:00
    @fakeJas0n 好吧,我们之前的项目中没有收集用户手机号。
    fakeJas0n
        8
    fakeJas0n  
       2018-07-12 11:10:55 +08:00
    @NullException #7
    如果是授权后能拿到 openid,再获取 unionid,就去和小程序中用户的 union 去比较
    或者先当两条存储再后台做一个合并用户的操作。。
    不清楚还有什么难点。。。
    NullException
        9
    NullException  
    OP
       2018-07-12 11:19:43 +08:00
    @fakeJas0n 按照你说的去做合并用户的操作,理论上是可行的。只是我们的业务中涉及到订单,支付,钱包,红包等等一系列功能,如果采用这个方案,就会产生一系列问题。
    fakeJas0n
        10
    fakeJas0n  
       2018-07-12 11:37:14 +08:00
    我想了想,可能只需要一张关联表 openid unionid
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4010 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 05:22 · PVG 13:22 · LAX 21:22 · JFK 00:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.