微信网页授权成功获取的openId与获取粉丝列表中对应的粉丝的openId不一致

陈俊凯 发布于 2016/08/01 10:11
阅读 1K+
收藏 0

我创建了一个微信网站应用,用于管理多个不同类型的公众号的授权登录,认证订阅号和认证服务号现在都可以授权登录了,但是为什么在授权成功后获取到的openId与实际上通过“同步粉丝信息”获取到的对应的粉丝的openId不一样?比如,粉丝a授权登录了公众号A,通过网页授权

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

拿到的openId为 1 ,但实际上通过

https://api.weixin.qq.com/sns/oauth2/access_token?grant_type=authorization_code

这个链接获取粉丝列表中对应的粉丝a的openId实际上是2,而在微信支付的时候,我传的是授权时拿到的openId,也即openId=1,导致了支付的时候报了“appId and openId not match”的错误,而当我改成实际的openId,也即openId=2,发现可以正常支付了,但是这样就不符合逻辑了,应该传的是openId=1才对啊!这他妈是微信的坑吗?望有热心网友帮忙指点下。谢谢!


加载中
2
本人纯属虚构
本人纯属虚构

每一个公众号对应的用户openid都不一样

也就是同一个用户关注了公众号A和公众号B 在后台得到的openid都不一样

陈俊凯
陈俊凯
你没理解我的意思吧?我这边就一个公众号A
0
南湖船老大
南湖船老大
没遇到你说的问题
陈俊凯
陈俊凯
那这个该怎么处理?通过网页授权获取的unionId查询粉丝列表中对应的粉丝的openId吗?可是粉丝列表接口好像没有返回unionId这个字段啊
0
飞扬的梦
飞扬的梦
是这样咯,多个微信的话,要使用开发者账号,获取统一unionID,然后存表,然后通过unionid获取其它平台对应用openid就可以了
陈俊凯
陈俊凯
可是我的公众号可能有几百上千个,开放平台最多只能绑定10个,这个解决方法行不通啊,我现在想,在网页授权获取到的用户信息与已存表的粉丝信息对比,如果共有的字段的值一样,就判断是同一个粉丝,就是感觉这个不太靠谱。。
0
飞扬的梦
飞扬的梦
那不行的,除非你强制用户输入手机号完成注册,这样绑写openid和手机号。其实关键就是要找一个第三方的,大家都有的。用户输入的信息是不太好的,比较两个人叫一样的名字,微信这里获取不到用户账户的。
陈俊凯
陈俊凯
可行的unionId现在受限了,真不知道其他的办法了,坑爹啊!
返回顶部
顶部