当前位置:Gxlcms > PHP教程 > 通过php判断用户是否关注微信公众号

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

时间:2021-07-01 10:21:17 帮助过:27人阅读

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

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

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

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

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

下面是第二个代码案例

  1. < ? php
  2. $access_token = $this - > _getAccessToken();
  3. $subscribe_msg = 'https://api.weixin.qq.com/cgi-bin/user/info?access_token='.$access_token.'&openid='.$_SESSION['wecha_id'];
  4. $subscribe = json_decode($this - > curlGet($subscribe_msg));
  5. $zyxx = $subscribe - > subscribe;
  6. if ($zyxx !== 1) {
  7. echo'未关注!';
  8. }
  9. private function _getAccessToken() {
  10. $where = array('token' = > $this - > token);
  11. $this - > thisWxUser = M('Wxuser') - > where($where) - > find();
  12. $url_get = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$this - > thisWxUser['appid'].'&secret='.$this - > thisWxUser['appsecret'];
  13. $json = json_decode($this - > curlGet($url_get));
  14. if (!$json - > errmsg) {
  15. } else {
  16. $this - > error('获取access_token发生错误:错误代码'.$json - > errcode.',微信返回错误信息:'.$json - > errmsg);
  17. }
  18. return $json - > access_token;
  19. }
  20. ? >

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关文章:

关于如何判断用户是第一次进入某个页面的问题?

通过PHP判断用户为当天第一次登陆

通过php网站判断用户是否是手机访问的方法

人气教程排行