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中与数组相关的函数
Mar 22 PHP
php 修改zen-cart下单和付款流程以防止漏单
Mar 08 PHP
利用php递归实现无限分类 格式化数组的详解
Jun 08 PHP
php实现简单文件下载的方法
Jan 30 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
Feb 03 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
Apr 30 PHP
一个简单的php路由类
May 29 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
Sep 22 PHP
php中strlen和mb_strlen用法实例分析
Nov 12 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 PHP
thinkphp 框架数据库切换实现方法分析
May 18 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
《猛禽小队》:DC宇宙的又一超级大烂片
2020/04/09 欧美动漫
PHP实现的mongoDB数据库操作类完整实例
2018/04/10 PHP
如果文字过长,则将过长的部分变成省略号显示
2006/06/26 Javascript
js跨域和ajax 跨域问题的实现思路
2009/09/05 Javascript
让FireFox支持innerText的实现代码
2009/12/01 Javascript
js 动态为textbox添加下拉框数据源的方法
2014/04/24 Javascript
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
js实现数组转换成json
2015/06/26 Javascript
JavaScript匿名函数之模仿块级作用域
2015/12/12 Javascript
Javascript使用function创建类的两种方法(推荐)
2016/11/19 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
2017/11/24 Javascript
纯JS实现可用于页码更换的飞页特效示例
2018/05/21 Javascript
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
vue实现把接口单独存放在一个文件方式
2020/08/13 Javascript
通过代码实例展示Python中列表生成式的用法
2015/03/31 Python
在Django的视图中使用form对象的方法
2015/07/18 Python
Python爬虫包BeautifulSoup异常处理(二)
2018/06/17 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
Python基础之函数原理与应用实例详解
2020/01/03 Python
Python单链表原理与实现方法详解
2020/02/22 Python
基于CSS3实现的漂亮Menu菜单效果代码
2015/09/10 HTML / CSS
Stuart Weitzman美国官网:美国奢华鞋履品牌
2016/08/18 全球购物
香港时装购物网站:ZALORA香港
2017/04/23 全球购物
加拿大票务网站:Ticketmaster加拿大
2017/07/17 全球购物
百度软件工程师职位
2013/02/14 面试题
大学生毕业求职找工作的自我评价
2013/09/29 职场文书
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
个人总结格式范文
2015/03/09 职场文书
亮剑观后感500字
2015/06/05 职场文书
2016党员三严三实心得体会
2016/01/15 职场文书
MySQL大小写敏感的注意事项
2021/05/24 MySQL
Golang二维数组的使用方式
2021/05/28 Golang
pycharm代码删除恢复的方法
2021/06/26 Python
dubbo服务整合zipkin详解
2021/07/26 Java/Android