최근 위챗 플랫폼에서 투표 이벤트가 있을 예정인데, 투표에 참여하려면 먼저 공식 계정을 팔로우해야 합니다. 그러면 사용자가 공식 계정을 팔로우했는지 어떻게 판단할 수 있나요?
첫 번째 아이디어는 공개 계정의 감시 목록을 가져온 다음 목록에 참가자의 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; } ? >
위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되길 바라며, 또한 이 사이트를 응원해 주시길 바랍니다.
위 내용은 문자 유형을 결정하는 PHP를 소개하며, PHP의 내용을 포함하여 사용자가 WeChat 공개 계정을 팔로우하는지 여부를 결정합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.