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 相关文章推荐
从网上搜到的phpwind 0day的代码
Dec 07 PHP
php MySQL与分页效率
Jun 04 PHP
PHP 文件类型判断代码
Mar 13 PHP
php 将bmp图片转为jpg等其他任意格式的图片
Jun 29 PHP
php设计模式 Facade(外观模式)
Jun 26 PHP
PHP无限分类(树形类)的深入分析
Jun 02 PHP
基于PHP中的常用函数回顾
Jul 11 PHP
Smarty模板常见的简单应用分析
Nov 15 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
Apr 09 PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
Oct 18 PHP
PHP设计模式之命令模式示例详解
Dec 20 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 empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
php解析url的三个示例
2014/01/20 PHP
php防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
thinkphp3.x中session方法的用法分析
2016/05/20 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
2008/03/22 Javascript
javascript 设置某DIV区域内的checkbox复选框
2009/11/30 Javascript
JavaScript Cookie的读取和写入函数
2009/12/08 Javascript
Javascript 中的 &amp;&amp; 和 || 使用小结
2010/04/25 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
JavaScript中的变量定义与储存介绍
2014/12/31 Javascript
BootStrap 实现各种样式的进度条效果
2016/12/07 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
带你快速理解javascript中的事件模型
2017/08/14 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
vue 粒子特效的示例代码
2017/09/19 Javascript
node使用Koa2搭建web项目的方法
2017/10/17 Javascript
Vue 兄弟组件通信的方法(不使用Vuex)
2017/10/26 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
python使用turtle绘制分形树
2018/06/22 Python
谈一谈基于python的面向对象编程基础
2019/05/21 Python
Python比较配置文件的方法实例详解
2019/06/06 Python
Django 自定义分页器的实现代码
2019/11/24 Python
python3下pygame如何实现显示中文
2020/01/11 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
python中for in的用法详解
2020/04/17 Python
Django中FilePathField字段的用法
2020/05/21 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
Python类型转换的魔术方法详解
2020/12/23 Python
IE矩阵Matrix滤镜旋转与缩放及如何结合transform
2012/11/29 HTML / CSS
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
Linux文件系统类型
2012/09/16 面试题
会计电算化个人求职信范文
2014/01/24 职场文书