php判斷用戶是否關(guān)注微信公眾號(hào)
最近要做一個(gè)微信平臺(tái)的投票活動(dòng),需要在關(guān)注公眾號(hào)之后才能參與投票,那么,如何判斷用戶是否關(guān)注了公眾號(hào)呢?
第一想法是,通過獲取公眾號(hào)的關(guān)注列表,然后搜索列表中是否有參與者的openid。
但是馬上發(fā)現(xiàn)一個(gè)問題,就是這種方法需要每次都要獲取一下關(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)開發(fā) 自定義菜單跳轉(zhuǎn)頁(yè)面并獲取用戶信息實(shí)例詳解
- Java微信公眾號(hào)開發(fā)之通過微信公眾號(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-08PHP加密擴(kuò)展庫(kù)Mcrypt安裝和實(shí)例
PHP加密擴(kuò)展庫(kù)有Mcrypt和Mhash,其中,Mcrypt擴(kuò)展庫(kù)可以實(shí)現(xiàn)加密解密功能,今天我我們講的就是Mcrypt的功能和實(shí)例2013-11-11PHP和.net中des加解密的實(shí)現(xiàn)方法
PHP和.net中des加解密的實(shí)現(xiàn)方法,需要的朋友可以參考一下2013-02-02php如何計(jì)算兩坐標(biāo)點(diǎn)之間的距離
這篇文章主要為大家詳細(xì)介紹了php如何計(jì)算兩坐標(biāo)點(diǎn)之間的距離,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12Laravel使用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-10Base64在線編碼解碼實(shí)現(xiàn)代碼 演示與下載
最近遇到的幾個(gè)程序的加密方式都是Base64加密,很是暈菜,臨時(shí)整了個(gè)在線轉(zhuǎn)換,但是也不全部能搞定,呵呵也許還有不行的,希望對(duì)后來(lái)人有所幫助。2011-01-01PHP長(zhǎng)網(wǎng)址與短網(wǎng)址的實(shí)現(xiàn)方法
這篇文章主要介紹了PHP長(zhǎng)網(wǎng)址與短網(wǎng)址的實(shí)現(xiàn)方法,需要的朋友可以參考下2017-10-10thinkPHP使用post方式查詢時(shí)分頁(yè)失效的解決方法
這篇文章主要介紹了thinkPHP使用post方式查詢時(shí)分頁(yè)失效的解決方法,通過使用JavaScript動(dòng)態(tài)修改頁(yè)面元素結(jié)合thinkPHP查詢語(yǔ)句解決分頁(yè)失效的問題,需要的朋友可以參考下2015-12-12