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

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

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140839
NullException
2018-07-12 10:04:33 +08:00
@paullee 不好意思,背景没写清楚。之前公司开通服务号跟订阅号后,项目中配置的是服务号的 appid,但是运营对外推的一直是订阅号,导致用户关注订阅号后授权的是服务号。你发的接口地址我之前都仔细看过了,没关注过服务号的用户是拉取不到用户 unionid 的。所以这个坑很难受。
fakeJas0n
2018-07-12 10:26:41 +08:00
订阅号不能授权
服务号可以授权
可以用服务号授权嫁接到订阅号上
NullException
2018-07-12 10:40:25 +08:00
@fakeJas0n 兄台可有相同的填坑经历?
fakeJas0n
2018-07-12 10:45:31 +08:00
@NullException #5 是用手机号来保证用户的唯一性,建议看一下接口权限
https://kf.qq.com/faq/170104AJ3y26170104Yj673y.html
NullException
2018-07-12 10:56:39 +08:00
@fakeJas0n 好吧,我们之前的项目中没有收集用户手机号。
fakeJas0n
2018-07-12 11:10:55 +08:00
@NullException #7
如果是授权后能拿到 openid,再获取 unionid,就去和小程序中用户的 union 去比较
或者先当两条存储再后台做一个合并用户的操作。。
不清楚还有什么难点。。。
NullException
2018-07-12 11:19:43 +08:00
@fakeJas0n 按照你说的去做合并用户的操作,理论上是可行的。只是我们的业务中涉及到订单,支付,钱包,红包等等一系列功能,如果采用这个方案,就会产生一系列问题。
fakeJas0n
2018-07-12 11:37:14 +08:00
我想了想,可能只需要一张关联表 openid unionid
biaodianfu
2018-07-12 14:32:59 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/470081

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX