php判断用户是否关注微信公众号

Shela ·
更新时间:2024-11-13
· 922 次阅读

最近要做一个微信平台的投票活动,需要在关注公众号之后才能参与投票,那么,如何判断用户是否关注了公众号呢?

第一想法是,通过获取公众号的关注列表,然后搜索列表中是否有参与者的openid

但是马上发现一个问题,就是这种方法需要每次都要获取一下关注列表,而且,当公众号的粉丝比较多时,这种方法就比较吃力了。

下面使用php方法,判断用户是否关注了公众号:

<?php $access_token = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=XXXXXXXXXXXXXXXXXX&secret=XXXXXXXXXXXXXXXXXXXXXXXXXX"; $access_msg = json_decode(file_get_contents($access_token)); $token = $access_msg->access_token; $subscribe_msg = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=$token&openid=$_GET[openid]"; $subscribe = json_decode(file_get_contents($subscribe_msg)); $gzxx = $subscribe->subscribe; // if($gzxx === 1){ echo "已关注"; }else{ echo "未关注"; }

下面是第二个代码案例

< ? php $access_token = $this - > _getAccessToken(); $subscribe_msg = 'https://api.weixin.qq.com/cgi-bin/user/info?access_token='.$access_token.'&openid='.$_SESSION['wecha_id']; $subscribe = json_decode($this - > curlGet($subscribe_msg)); $zyxx = $subscribe - > subscribe; if ($zyxx !== 1) { echo'未关注!'; } private function _getAccessToken() { $where = array('token' = > $this - > token); $this - > thisWxUser = M('Wxuser') - > where($where) - > find(); $url_get = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$this - > thisWxUser['appid'].'&secret='.$this - > thisWxUser['appsecret']; $json = json_decode($this - > curlGet($url_get)); if (!$json - > errmsg) { } else { $this - > error('获取access_token发生错误:错误代码'.$json - > errcode.',微信返回错误信息:'.$json - > errmsg); } return $json - > access_token; } ? > 您可能感兴趣的文章:微信公众号支付(一)如何获取用户openId微信公众号-获取用户信息(网页授权获取)实现步骤.NET微信公众号获取OpenID和用户信息微信公众号判断用户是否已关注php代码解析微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解Java微信公众号开发之通过微信公众号获取用户信息.NET微信公众号 用户分组管理ASP.NET微信公众号之用户分组管理web页面ASP.NET Core2静默获取微信公众号的用户OpenId实例代码微信公众号实现扫码获取微信用户信息(网页授权)微信公众号用户与网站用户的绑定解决方案分析



公众号 微信公众号 PHP

需要 登录 后方可回复, 如果你还没有账号请 注册新账号