php 微信开发获取用户信息
获取用户信息的大致算法是
用户授权登录第三方网站,
重点:scope参数:
snsapi_basic 静默登录,不需要用户授权,只能获取到openid;
snsapi_userinfo ,需要用户点击授权,能获取到openid和所有用户信息;
第一步:先获取用户的code值;
第二步:根据code值去获取access_token,每次请求的值都不一样,如果没有使用,每五分钟更新一次;
第三步:根据access_token获取用户信息;
1.获取code代码实现:
getcode.php
if(isset($_SESSION['user'])){ print_r($_SESSION['user']); exit; } $appid='wx1d7c6fcd6131143b3'; $redirect_url="http://www.antfortune.vip/callback.php"; $scope='snsapi_userinfo';//获取的方式; $url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri='.urlencode($redirect_url).'&response_type=code&scope='.$scope.'&state=123#wechat_redirect'; header("Location:".$url);
2、根据code获取access_token和openid
getOpenid.php <?php //获取用户openid $appid="your appid"; $appsecret="your appsecret"; $code=$_GET['code']; function getOpenID($appid,$appsecret,$code){ $url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=". $appsecret."&code=".$code."&grant_type=authorization_code"; $weixin=file_get_contents($url);//通过code换取网页授权access_token $jsondecode=json_decode($weixin); //对JSON格式的字符串进行编码 $array = get_object_vars($jsondecode);//转换成数组 $openid = $array['openid'];//输出openid return $openid; } echo getOpenID($appid,$appsecret,$code);
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!