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中使用XML
Oct 09 PHP
PR值查询 | PageRank 查询
Dec 20 PHP
PHP下对数组进行排序的函数
Aug 08 PHP
rephactor 优秀的PHP的重构工具
Jun 09 PHP
基于php冒泡排序算法的深入理解
Jun 09 PHP
phpexcel导入excel数据使用方法实例
Dec 24 PHP
PHP zip扩展Linux下安装过程分享
May 05 PHP
PHP扩展模块memcached长连接使用方法分析
Dec 24 PHP
WordPress中获取指定分类及其子分类下的文章数目
Dec 31 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
Mar 07 PHP
thinkPHP框架实现的短信接口验证码功能示例
Jun 20 PHP
PHP使用CURL实现下载文件功能示例
Jun 03 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 VS ASP
2006/10/09 PHP
AJAX for PHP简单表数据查询实例
2007/01/02 PHP
织梦模板标记简介
2007/03/11 PHP
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
2008/12/06 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
Javascript 检测、添加、移除样式(className)函数代码
2009/09/08 Javascript
浅谈关于JavaScript的语言特性分析
2013/04/11 Javascript
node.js中使用socket.io的方法
2014/12/15 Javascript
nodejs开发微博实例
2015/03/25 NodeJs
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
在JavaScript中对HTML进行反转义详解
2016/05/18 Javascript
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
Vue-cli@3.0 插件系统简析
2018/09/05 Javascript
mpvue项目中使用第三方UI组件库的方法
2018/09/30 Javascript
详解vue后台系统登录态管理
2019/04/02 Javascript
小程序如何获取多个formId实现详解
2019/09/20 Javascript
vue router 传参获取不到的解决方式
2019/11/13 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
[41:54]2018DOTA2亚洲邀请赛 4.1 小组赛A组加赛 TNC vs Liquid
2018/04/03 DOTA
Python+Pandas 获取数据库并加入DataFrame的实例
2018/07/25 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
实例详解Python模块decimal
2019/06/26 Python
PYTHON EVAL的用法及注意事项解析
2019/09/06 Python
Django Docker容器化部署之Django-Docker本地部署
2019/10/09 Python
python 一维二维插值实例
2020/04/22 Python
python轮询机制控制led实例
2020/05/03 Python
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
Eclipse面试题
2014/03/22 面试题
劳资人员岗位职责
2013/12/19 职场文书
大学毕业感言一句话
2014/02/06 职场文书
感谢信范文大全
2015/01/23 职场文书
经营场所使用证明
2015/06/19 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript
教你快速开启Apache SkyWalking的自监控
2021/04/25 Servers
详解Python描述符的工作原理
2021/06/11 Python