网页中获取微信用户是否关注订阅号的思路

网页中要获取微信用户是否关注订阅号,请保证在同一个微信开放平台帐号下有一个服务号,否则可能很难实现。

在平时的业务工程中我们需要了解用户是否关注了微信公众号才能继续往下操作。这种操作对服务号来说是很容易的,具体可以参考微信开发文档>微信网页开发>网页授权
但是订阅号是没有这个功能的,也就是无法通过这个机制知道微信用户是否关注,本文就是要解决这个问题。

微信开发文档>用户管理>获取用户基本信息(UnionID机制)>UnionID机制说明中有提到:

开发者可通过OpenID来获取用户基本信息。特别需要注意的是,如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。

首先我们要知道的是openID结合access_token是可以转换为unionid。所以根据如上的描述,或许可以启发我们利用同一个微信开放平台帐号下的服务号来辅助我们完成判断用户是否关注订阅号的业务逻辑。具体做法如下:

1.保证数据库中实时保存所有订阅号已关注用户的unionid,要完成这一点,你需要做到两点:初始化时在数据库中插入所有已关注用户的unionid,每当有用户关注的时候将其unionid插入数据库;这两点并不难做到;前一点,关于获取所有已关注用户的unionid,你可以参考我的这一篇文章:批量获取微信公众号用户openID及用户信息

2.通过上面网页授权中提到的code机制,我们可以利用同一个微信开放平台帐号下的服务号去获取当前微信用户的unionid,将其与数据库中的进行比对即可得出当前用户是否关注了订阅号。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值