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 Mssql操作简单封装支持存储过程
Dec 11 PHP
PHP操作MongoDB时的整数问题及对策说明
May 02 PHP
PHP中几个常用的魔术常量
Feb 23 PHP
str_replace只替换一次字符串的方法
Apr 09 PHP
PHP时间和日期函数详解
May 08 PHP
CI框架集成Smarty的方法分析
May 17 PHP
浅谈php中urlencode与rawurlencode的区别
Sep 05 PHP
利用PHP获取汉字首字母并且分组排序详解
Oct 22 PHP
Laravel框架表单验证操作实例分析
Sep 30 PHP
聊聊 PHP 8 新特性 Attributes
Aug 19 PHP
PHP autoload使用方法及步骤详解
Sep 05 PHP
PHP执行linux命令6个函数代码实例
Nov 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如何抛出异常处理错误
2011/03/02 PHP
PHP curl模拟登录带验证码的网站
2015/11/30 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
15 个 JavaScript Web UI 库
2010/05/19 Javascript
window.location.href中url中数据量太大时的解决方法
2013/12/23 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
jQuery实现隔行背景色变色
2014/11/24 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
2015/01/13 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
2016/08/25 Javascript
js 性能优化之快速响应的用户界面
2017/02/15 Javascript
JS实现颜色的10进制转化成rgba格式的方法
2017/09/04 Javascript
vue移动端实现下拉刷新
2018/04/22 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
小试小程序云开发(小结)
2019/06/06 Javascript
[01:18]PWL开团时刻DAY4——圣剑与抢盾
2020/11/03 DOTA
python获取目录下所有文件的方法
2015/06/01 Python
Python基于动态规划算法解决01背包问题实例
2017/12/06 Python
Django框架教程之正则表达式URL误区详解
2018/01/28 Python
详解Python读取yaml文件多层菜单
2019/03/23 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
Python 中的 import 机制之实现远程导入模块
2019/10/29 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
2020/05/04 Python
在pycharm中文件取消用 pytest模式打开的操作
2020/09/01 Python
Python+logging输出到屏幕将log日志写入文件
2020/11/11 Python
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
网站开发实习生的自我评价
2013/12/11 职场文书
村级四风对照检查材料
2014/08/24 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
神秘岛读书笔记
2015/07/01 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书
nginx容器方式反向代理实战
2022/04/18 Servers