成语| 古诗大全| 扒知识| 扒知识繁体

当前位置:首页 > 数码科技

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

Q1:请问:php如何判断用户是否已经关注了微信的公众号呢?

这要借助微信的接口,当用户关注了你的公共账号之后,将用户的openID存到数据库的,这个是从微信那边发过来的 ,唯一

Q2: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;}? >

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

Q3:微信网页开发如何判断用户是否关注某个公众号和分享当前页面?

在微信开发者文档通过网页授权获取用户基本信息,通过这个流程可以获取到用户的唯一openid。
获取用户信息有两种方式,根据传递过去的scope参数来决定:

以snsapi_base为scope发起的网页授权,是特殊场景下的静默授权,静默授权不需要用户进入同意授权页面,自动跳转到用户需要跳转的页面。【简单方便步骤少,但是获取的信息较少】

以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。会弹出授权页面,需要用户点击授权。【步骤多,但能取到用户个人信息】

我在写投票页面的时候,因为只需要取到用户的openid就能判断用户是否关注,也能根据openid取到用户的个人信息,因此可以唯一判断投票人,有效防止刷票。

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

现在的活动,很多都引导用户关注公众号,才能参与到活动当中,那如何才能判断用户关注了公众号呢?本文就为大家提供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;}? >

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

猜你喜欢

更多