php判断用户是否关注微信公众号
来源: 阅读:2598 次 日期:2016-08-11 14:59:53
温馨提示: 小编为您整理了“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;

}

? >

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

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map