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

发布于 2021-11-29 10:46:45 字数 626 浏览 894 评论 7

我创建了一个微信网站应用,用于管理多个不同类型的公众号的授权登录,认证订阅号和认证服务号现在都可以授权登录了,但是为什么在授权成功后获取到的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才对啊!这他妈是微信的坑吗?望有热心网友帮忙指点下。谢谢!


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

绝影如岚 2021-12-04 15:34:50

那不行的,除非你强制用户输入手机号完成注册,这样绑写openid和手机号。其实关键就是要找一个第三方的,大家都有的。用户输入的信息是不太好的,比较两个人叫一样的名字,微信这里获取不到用户账户的。

酒几许 2021-12-04 15:33:44

可是我的公众号可能有几百上千个,开放平台最多只能绑定10个,这个解决方法行不通啊,我现在想,在网页授权获取到的用户信息与已存表的粉丝信息对比,如果共有的字段的值一样,就判断是同一个粉丝,就是感觉这个不太靠谱。。

琴流音 2021-12-04 15:29:58

是这样咯,多个微信的话,要使用开发者账号,获取统一unionID,然后存表,然后通过unionid获取其它平台对应用openid就可以了

心欲静而疯不止 2021-12-04 13:54:00

那这个该怎么处理?通过网页授权获取的unionId查询粉丝列表中对应的粉丝的openId吗?可是粉丝列表接口好像没有返回unionId这个字段啊

孤独患者 2021-12-04 02:11:50

没遇到你说的问题

奢望 2021-12-04 00:58:44

你没理解我的意思吧?我这边就一个公众号A

緦唸λ蓇 2021-12-03 03:20:52

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文