php判斷用戶是否關(guān)注微信公眾號(hào)
最近要做一個(gè)微信平臺(tái)的投票活動(dòng),需要在關(guān)注公眾號(hào)之后才能參與投票,那么,如何判斷用戶是否關(guān)注了公眾號(hào)呢?
第一想法是,通過(guò)獲取公眾號(hào)的關(guān)注列表,然后搜索列表中是否有參與者的openid。
但是馬上發(fā)現(xiàn)一個(gè)問(wèn)題,就是這種方法需要每次都要獲取一下關(guān)注列表,而且,當(dāng)公眾號(hào)的粉絲比較多時(shí),這種方法就比較吃力了。
下面使用php方法,判斷用戶是否關(guān)注了公眾號(hào):
<?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 "已關(guān)注";
}else{
echo "未關(guān)注";
}
下面是第二個(gè)代碼案例
< ? 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'未關(guān)注!';
}
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發(fā)生錯(cuò)誤:錯(cuò)誤代碼'.$json - > errcode.',微信返回錯(cuò)誤信息:'.$json - > errmsg);
}
return $json - > access_token;
}
? >
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 微信公眾號(hào)支付(一)如何獲取用戶openId
- 微信公眾號(hào)-獲取用戶信息(網(wǎng)頁(yè)授權(quán)獲?。?shí)現(xiàn)步驟
- .NET微信公眾號(hào)獲取OpenID和用戶信息
- 微信公眾號(hào)判斷用戶是否已關(guān)注php代碼解析
- 微信公眾號(hào)開(kāi)發(fā) 自定義菜單跳轉(zhuǎn)頁(yè)面并獲取用戶信息實(shí)例詳解
- Java微信公眾號(hào)開(kāi)發(fā)之通過(guò)微信公眾號(hào)獲取用戶信息
- .NET微信公眾號(hào) 用戶分組管理
- ASP.NET微信公眾號(hào)之用戶分組管理web頁(yè)面
- ASP.NET Core2靜默獲取微信公眾號(hào)的用戶OpenId實(shí)例代碼
- 微信公眾號(hào)實(shí)現(xiàn)掃碼獲取微信用戶信息(網(wǎng)頁(yè)授權(quán))
- 微信公眾號(hào)用戶與網(wǎng)站用戶的綁定解決方案分析
相關(guān)文章
針對(duì)多用戶實(shí)現(xiàn)頭像上傳功能PHP代碼 適用于登陸頁(yè)面制作
這篇文章主要為大家詳細(xì)介紹了針對(duì)多用戶實(shí)現(xiàn)頭像上傳功能PHP代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
PHP加密擴(kuò)展庫(kù)Mcrypt安裝和實(shí)例
PHP加密擴(kuò)展庫(kù)有Mcrypt和Mhash,其中,Mcrypt擴(kuò)展庫(kù)可以實(shí)現(xiàn)加密解密功能,今天我我們講的就是Mcrypt的功能和實(shí)例2013-11-11
PHP和.net中des加解密的實(shí)現(xiàn)方法
PHP和.net中des加解密的實(shí)現(xiàn)方法,需要的朋友可以參考一下2013-02-02
php如何計(jì)算兩坐標(biāo)點(diǎn)之間的距離
這篇文章主要為大家詳細(xì)介紹了php如何計(jì)算兩坐標(biāo)點(diǎn)之間的距離,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
Laravel使用memcached緩存對(duì)文章增刪改查進(jìn)行優(yōu)化的方法
這篇文章主要介紹了Laravel使用memcached緩存對(duì)文章增刪改查進(jìn)行優(yōu)化的方法,結(jié)合實(shí)例形式分析了Laravel框架中使用memcached緩存實(shí)現(xiàn)針對(duì)增刪改查等操作的優(yōu)化功能,需要的朋友可以參考下2016-10-10
Base64在線編碼解碼實(shí)現(xiàn)代碼 演示與下載
最近遇到的幾個(gè)程序的加密方式都是Base64加密,很是暈菜,臨時(shí)整了個(gè)在線轉(zhuǎn)換,但是也不全部能搞定,呵呵也許還有不行的,希望對(duì)后來(lái)人有所幫助。2011-01-01
PHP長(zhǎng)網(wǎng)址與短網(wǎng)址的實(shí)現(xiàn)方法
這篇文章主要介紹了PHP長(zhǎng)網(wǎng)址與短網(wǎng)址的實(shí)現(xiàn)方法,需要的朋友可以參考下2017-10-10
thinkPHP使用post方式查詢時(shí)分頁(yè)失效的解決方法
這篇文章主要介紹了thinkPHP使用post方式查詢時(shí)分頁(yè)失效的解決方法,通過(guò)使用JavaScript動(dòng)態(tài)修改頁(yè)面元素結(jié)合thinkPHP查詢語(yǔ)句解決分頁(yè)失效的問(wèn)題,需要的朋友可以參考下2015-12-12

