微信公众号判断用户是否已关注php代码解析


Posted in PHP onJune 24, 2016

现在的活动,很多都引导用户关注公众号,才能参与到活动当中,那如何才能判断用户关注了公众号呢? 本文就为大家提供php代码,解决问题。

官方接口说明
获取用户基本信息(包括UnionID机制) 

http://mp.weixin.qq.com/wiki/14/bb5031008f1494a59c6f71fa0f319c66.html

1、只要有基础的access_token和用户openid就可以判断用户是否关注该公众号
2、利用的接口url为:https://api.weixin.qq.com/cgi-bin/user/info?access_token=$token&openid=$openid
3、判断接口返回的字段subscribe是否为1.【1关注,0未关注】

注:
1、判断用户登录的方式为静默授权,用户无感知,从而得到用户的openid;
2、判断用户登录,需要微信认证服务号的支持,订阅号不行; 

下面是代码案例

< ? 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
深入理解PHP原理之Session Gc的一个小概率Notice
Apr 12 PHP
PHP文件上传主要代码讲解
Sep 30 PHP
2个比较经典的PHP加密解密函数分享
Jul 01 PHP
php+jQuery.uploadify实现文件上传教程
Dec 26 PHP
PHP实现返回JSON和XML的类分享
Jan 28 PHP
PHP开发框架laravel安装与配置教程
Mar 13 PHP
php实现图片缩略图的方法
Mar 29 PHP
php正则修正符用法实例详解
Dec 29 PHP
实例分析PHP中PHPMailer发邮件
Dec 13 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
May 23 PHP
详解thinkphp的Auth类认证
May 28 PHP
php微信开发之上传临时素材
Jun 24 #PHP
PHP微信开发之模板消息回复
Jun 24 #PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
Jun 24 #PHP
简单解析PHP程序的运行流程
Jun 23 #PHP
PHP微信开发之查询微信精选文章
Jun 23 #PHP
PHP微信开发之查询城市天气
Jun 23 #PHP
PHP微信开发之有道翻译
Jun 23 #PHP
You might like
允许phpmyadmin空密码登录的配置方法
2011/05/29 PHP
PHP中改变图片的尺寸大小的代码
2011/07/17 PHP
php多任务程序实例解析
2014/07/19 PHP
简单谈谈PHP vs Node.js
2015/07/17 PHP
php实时倒计时功能实现方法详解
2017/02/27 PHP
PHP中cookie知识点学习
2018/05/06 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
ExtJS 2.0实用简明教程之应用ExtJS
2009/04/29 Javascript
javascript 关于# 和 void的区别分析
2009/10/26 Javascript
javascript学习笔记(五) Array 数组类型介绍
2012/06/19 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
2014/01/14 Javascript
node.js入门教程
2014/06/01 Javascript
用Jquery选择器计算table中的某一列某一行的合计
2014/08/13 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
jQuery插件zTree实现删除树子节点的方法示例
2017/03/08 Javascript
vue项目中axios请求网络接口封装的示例代码
2018/12/18 Javascript
使用koa2创建web项目的方法步骤
2019/03/12 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
2019/08/08 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
Angular处理未可知异常错误的方法详解
2021/01/17 Javascript
[05:31]DOTA2上海特级锦标赛主赛事第三日RECAP
2016/03/05 DOTA
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
2014/06/18 Python
python高阶爬虫实战分析
2018/07/29 Python
python按时间排序目录下的文件实现方法
2018/10/17 Python
Python3模拟登录操作实例分析
2019/03/12 Python
python的re模块使用方法详解
2019/07/26 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
10分钟理解CSS3 Grid布局
2018/12/20 HTML / CSS
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
本科生学习总结的自我评价
2013/10/02 职场文书
三分钟演讲稿事例
2014/03/03 职场文书
消夏晚会主持词
2015/06/30 职场文书
SpringBoot整合Minio文件存储
2022/04/03 Java/Android