心情随笔

当前位置/ 首页/ 模板/心情随笔/ 正文

微信公众号判断用户是否关注自己php代码

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

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

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

下面使用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 "未关注";
       
}
       
       ?>

注:

1、判断用户登录的方式为静默授权,用户无感知,从而得到用户的openid;

2、判断用户登录,需要微信认证服务号的支持,订阅号不行;

3、如果有不明白的地方,可以到http://blog.wapui.com/128.html留言,我会第一时间解答。