php判断用户是否关注微信公众号

 更新时间:2016年07月22日 14:22:30   投稿:lijiao   我要评论

这篇文章主要为大家详细介绍了php判断用户是否关注微信公众号,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

最近要做一个微信平台的投票活动,需要在关注公众号之后才能参与投票,那么,如何判断用户是否关注了公众号呢?

第一想法是,通过获取公众号的关注列表,然后搜索列表中是否有参与者的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;
}
? >

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • thinkphp制作404跳转页的简单实现方法

    thinkphp制作404跳转页的简单实现方法

    下面小编就为大家带来一篇thinkphp制作404跳转页的简单实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • QQ登录 PHP OAuth示例代码

    QQ登录 PHP OAuth示例代码

    申请是立即通过的 目前腾讯仅开放获取昵称和头像的API,以后会陆续推出其他API 头像是QQ空间的,官方文档都是写QQ空间登录
    2011-07-07
  • Codeigniter发送邮件的方法

    Codeigniter发送邮件的方法

    这篇文章主要介绍了Codeigniter发送邮件的方法,涉及Codeigniter实现邮件发送的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • Laravel 5.5官方推荐的Nginx配置学习教程

    Laravel 5.5官方推荐的Nginx配置学习教程

    这篇文章主要给大家介绍了关于Laravel 5.5官方推荐的Nginx配置学习的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • Zend Framework数据库操作方法实例总结

    Zend Framework数据库操作方法实例总结

    这篇文章主要介绍了Zend Framework数据库操作方法,结合实例形式总结分析了Zend Framework数据库操作相关函数使用技巧与注意事项,需要的朋友可以参考下
    2016-12-12
  • PHP 透明水印生成代码

    PHP 透明水印生成代码

    PHP 透明水印生成代码,需要的朋友可以参考下
    2012-08-08
  • Laravel框架在本地虚拟机快速安装的方法详解

    Laravel框架在本地虚拟机快速安装的方法详解

    这篇文章主要介绍了Laravel框架在本地虚拟机快速安装的方法,结合实例形式较为详细的分析了Laravel框架的安装步骤、操作注意事项,并附带说明了centos7环境下php7编译安装curl扩展的具体操作步骤,需要的朋友可以参考下
    2018-06-06
  • Yii框架登录流程分析

    Yii框架登录流程分析

    这篇文章主要介绍了Yii框架登录流程,详细的分析了Yii框架的原理与登录的详细流程,有助于深入了解Yii框架的原理,需要的朋友可以参考下
    2014-12-12
  • php过滤HTML标签、属性等正则表达式汇总

    php过滤HTML标签、属性等正则表达式汇总

    这篇文章主要介绍了php过滤HTML标签、属性等正则表达式汇总,本文使用代码实例给出了过滤HTML内容的正则表达式,具体说明请参阅代码中的注释,本文对使用PHP做采集的朋友有比较大的作用,需要的朋友可以参考下
    2014-09-09
  • PHP命令空间namespace及use的用法小结

    PHP命令空间namespace及use的用法小结

    命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这篇文章主要介绍了PHP命令空间namespace及use的用法实践总结,需要的朋友可以参考下
    2017-11-11

最新评论