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脚本数据库功能详解(下)
Oct 09 PHP
请离开include_once和require_once
Jul 18 PHP
php导入csv文件碰到乱码问题的解决方法
Feb 10 PHP
php自定义加密与解密程序实例
Dec 31 PHP
THINKPHP支持YAML配置文件的设置方法
Mar 17 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
Jan 03 PHP
WordPress后台中实现图片上传功能的实例讲解
Jan 11 PHP
Yii支持多域名cors原理的实现
Dec 05 PHP
php和C#的yield迭代器实现方法对比分析
Jul 17 PHP
yii框架使用分页的方法分析
Jul 25 PHP
laravel实现上传图片的两种方式小结
Oct 12 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 24 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实现生成code128条形码的方法详解
2017/07/19 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
动态的改变IFrame的高度实现IFrame自动伸展适应高度
2012/12/28 Javascript
js 为label标签和div标签赋值的方法
2013/08/08 Javascript
jquery submit ie6下失效的原因分析及解决方法
2013/11/15 Javascript
document.addEventListener使用介绍
2014/03/07 Javascript
Jquery解析Json格式数据过程代码
2014/10/17 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
基于canvas实现的绚丽圆圈效果完整实例
2016/01/26 Javascript
使用vue编写一个点击数字计时小游戏
2016/08/31 Javascript
JavaScript中boolean类型之三种情景实例代码
2016/11/21 Javascript
jQuery删除当前节点元素
2016/12/07 Javascript
微信小程序 http请求的session管理
2017/06/07 Javascript
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
原生js+canvas实现下雪效果
2020/08/02 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
用于统计项目中代码总行数的Python脚本分享
2015/04/21 Python
利用numpy+matplotlib绘图的基本操作教程
2017/05/03 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
2018/02/11 Python
Python应用库大全总结
2018/05/30 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
布局和排版教程 纯css3实现图片三角形排列
2014/10/17 HTML / CSS
毕业生应聘幼儿园的自荐信
2013/11/20 职场文书
餐厅销售主管职责范本
2014/02/19 职场文书
模具专业毕业推荐信
2014/03/08 职场文书
教师个人自我评价范文
2014/04/13 职场文书
植树节口号
2014/06/21 职场文书
社会工作专业自荐信
2014/09/26 职场文书
群众路线领导班子四风对照检查材料
2014/09/27 职场文书
2014年商场工作总结
2014/11/22 职场文书
优秀班主任先进事迹材料
2014/12/16 职场文书
发言稿之优秀教师篇
2019/09/26 职场文书