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


Posted in PHP onJuly 22, 2016

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

第一想法是,通过获取公众号的关注列表,然后搜索列表中是否有参与者的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中用date函数获取当前时间有误的解决办法
Aug 02 PHP
smarty表格换行实例
Dec 15 PHP
[原创]php获取数组中键值最大数组项的索引值
Mar 17 PHP
php htmlentities()函数的定义和用法
May 13 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
php微信公众号开发之关键词回复
Oct 20 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
Apr 10 PHP
解决laravel session失效的问题
Oct 14 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
Oct 16 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
Nov 21 PHP
laravel ajax curd 搜索登录判断功能的实现
Apr 17 PHP
微信支付扫码支付php版
Jul 22 #PHP
php如何执行非缓冲查询API
Jul 22 #PHP
PHP面试常用算法(推荐)
Jul 22 #PHP
微信红包随机生成算法php版
Jul 21 #PHP
php集成动态口令认证
Jul 21 #PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
Jul 21 #PHP
微信随机生成红包金额算法php版
Jul 21 #PHP
You might like
php基础知识:类与对象(5) static
2006/12/13 PHP
php header功能的使用
2013/10/28 PHP
JavaScript入门教程(2) JS基础知识
2009/01/31 Javascript
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
javascript(jquery)利用函数修改全局变量的代码
2009/11/02 Javascript
jQuery Tools tab使用介绍
2012/07/14 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
node.js中的fs.lchown方法使用说明
2014/12/16 Javascript
JavaScript基础函数整理汇总
2015/01/30 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
2015/09/15 Javascript
解决layui前端框架 form表单,table表等内置控件不显示的问题
2018/08/19 Javascript
vue-cli3使用 DllPlugin 实现预编译提升构建速度
2019/04/24 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
2019/08/27 Javascript
js计时事件实现圆形时钟
2020/03/25 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
举例讲解Python中的Null模式与桥接模式编程
2016/02/02 Python
Python如何获取系统iops示例代码
2016/09/06 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
python实现数据分析与建模
2019/07/11 Python
Python3爬虫中Selenium的用法详解
2020/07/10 Python
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
夜不归宿检讨书
2014/02/25 职场文书
幼儿教师师德演讲稿
2014/05/06 职场文书
淘宝客服工作职责
2014/07/11 职场文书
先进党支部事迹材料
2014/12/24 职场文书
个人向公司借款协议书
2016/03/19 职场文书
世界文化遗产导游词
2019/08/07 职场文书
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL
Spring Cloud OAuth2实现自定义token返回格式
2022/06/25 Java/Android