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

5年以前  |  阅读数:435 次  |  编程语言: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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例