PHP实现微信公众号获取用户信息判断用户是否关注公众号教程

2021-03-20   阅读:199   分类:后端    标签: 微信开发

思路流程分析:用户点击wait.php进入授权,跳转到getUser.php,执行获取用户相关信息,来判断用户是否关注了公众号,关注执行相应操作,没关注跳转到微信公众号关注页面。

wait.php代码

<?php
 header("Content-type: text/html; charset=utf-8"); 
$appid='APPID';
$redirect_uri = urlencode ( 'http://h5.example.com/weixin/getUser.php' );
$url ="https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect";
header("Location:".$url);

?>

getUser.php代码

<?php
 header("Content-type: text/html; charset=utf-8"); 
$appid = "APPID";
$secret = "SECRET";
$code = $_GET["code"];
 

//第一步:取全局access_token
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$secret";
$token = getJson($url);
//第二步:取得openid
$oauth2Url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";
$oauth2 = getJson($oauth2Url);
  
//第三步:根据全局access_token和openid查询用户信息  
$access_token = $token["access_token"];  
$openid = $oauth2['openid'];  
$get_user_info_url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$openid&lang=zh_CN";
$userinfo = getJson($get_user_info_url);
//打印用户信息  

  if($userinfo['errcode']==40003){
    header("Location:http://h5.example.com/weixin/wait.php");
  }
  if($userinfo['subscribe'] !=1){
    //未关注执行相应操作
    header("Location:https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzI5OTU1MDQ2Nw==#wechat_redirect");

  }else{
    //已关注执行相应操作
    .....
   
  }
 
function getJson($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);
    return json_decode($output, true);
}

?>

上面通过subscribe参数来判断用户是否关注了公众号,当它的值为1是表示关注了公众号,否则没有关注公众号。

【腾讯云】618云上GO!云服务器限时秒杀,1核2G首年95元!

‘简忆博客’微信公众号 扫码关注‘简忆博客’微信公众号,获取最新文章动态
转载:请说明文章出处“来源简忆博客”。http://www.tpxhm.com/adetail/635.html

×
觉得文章有用就打赏一下文章作者
微信扫一扫打赏 微信扫一扫打赏
支付宝扫一扫打赏 支付宝扫一扫打赏

文章评论(0)

登录
简忆博客壁纸 头像

简忆博客
勤于学习,乐于分享。

置顶推荐

打赏本站

如果你觉得本站很棒,可以通过扫码支付打赏哦!
微信扫码:你说多少就多少~
微信扫码
支付宝扫码:你说多少就多少~
支付宝扫码
×