已知Unionid,如何获取用户对于另一订阅号的openid?如何判断是否关注订阅号?

1.通过服务号A的微信网页授权,以scope为snsapi_userinfo的模式,获得了用户基于服务号A的openid(A),unionid,以及其他包含用户信息的数据。
https://mp.weixin.qq.com/wiki...

2.现在希望在网页上,判断用户是否已经关注订阅号B

3.通过订阅号B的获取用户基本信息(UnionID机制),返回的json包中有一个参数subscribe,是用户是否订阅该公众号标识,值为0时,代表此用户没有关注该公众号,拉取不到其余信息。
https://mp.weixin.qq.com/wiki...

4.请求订阅号B的获取用户基本信息(UnionID机制)的json包,需要两个参数。

参数 是否必须 说明
access_token (基础access_token,并非网页授权access_token)
openid 普通用户的标识,对当前公众号唯一

5.订阅号没有权限通过网页授权的方式获得openid(https://mp.weixin.qq.com/wiki...
。但是文档 在获取用户基本信息(UnionID机制)中提到

在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID

但是在网页上,是未知用户是否已关注的,那么要如何获得用户基于订阅号B的 openid ?如何去判断用户是否已经关注订阅号B?

阅读 19.4k
1 个回答
关注者与公众号产生消息交互后,公众号可获得关注者的OpenID

登录需要自己做一个JWT或者加密cookie来实现。

提供一个解决思路,要求用户关注之后回复关键字,此时即可获得关注者的openid(B),将其存入数据库,自己做若干不同公众号用户管理的表。

用户回复的关键字,将触发公众号自动回复,返回一个链接,让用户点击进入自己的一个登录链接,用户在网页上登录时,拿到openid(B)再跳到业务页面。

页面是基于服务号A的,通过JWT或者加密cookie来重新识别跳回业务页面的用户,然后拿着对应的openid(B)去判定是否关注。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏