• 技术文章 >后端开发 >php教程

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

    墨辰丷墨辰丷2018-06-01 16:34:41原创2574
    这篇文章主要为大家详细介绍了php判断用户是否关注微信公众号,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

    第一想法是,通过获取公众号的关注列表,然后搜索列表中是否有参与者的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;
    }
    ? >

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

    相关推荐:

    PHP 接入支付宝即时到账功能

    PHP二维数组去重算法图文详解

    php获取POST数据的三种方法详解

    以上就是php如何判断用户是否关注微信公众号的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 关注 是否
    上一篇:PHP微信支付实例详解 下一篇:php实现执行非缓冲查询API的三种方法
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• PHP实现LRU算法的示例代码• 怎样利用Dockerfile文件部署PHP项目• 什么是接口?如何在PHP中使用接口编写优雅的代码?• php7.2怎么连接oracle数据库?OCI8扩展的安装• php将csv文件导入到mysql数据库的方法,_PHP教程
    1/1

    PHP中文网