1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 微信网页授权功能来获取用户信息(昵称或头像)之php实现

微信网页授权功能来获取用户信息(昵称或头像)之php实现

时间:2022-11-22 13:19:15

相关推荐

微信网页授权功能来获取用户信息(昵称或头像)之php实现

授权页面链接:

https://open./connect/oauth2/authorize?appid=wx14f******33aca21&redirect_uri=http://****.************.com/wechat/php/oauth_response.php&response_type=code&scope=snsapi_userinfo&state=STATE&connect_redirect=1#wechat_redirect

授权页面会跳转到一个带有code参数的页面,页面地址没变,简单点说就是页面刷新了个你所需要的code参数

<?php//获取地址链接中的code参数$location = $_SERVER["QUERY_STRING"];$data = strstr($location,'&',true);$code = substr($data, 5);//curl 的post请求function CurlPost($url, $data){$curl = curl_init();curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);curl_setopt($curl, CURLOPT_URL, $url);if(!empty($data)){curl_setopt($curl, CURLOPT_POST, true);curl_setopt($curl, CURLOPT_POSTFIELDS, $data);}curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);$result = curl_exec($curl);curl_close($curl);return $result;}//get请求function CurlGet($url){return CurlPost($url, "");}//通过code换取网页授权access_token$url = "https://api./sns/oauth2/access_token?appid=wx14f******33aca21&secret=332cab69b**********e5481b9bfe6ce&code=".$code."&grant_type=authorization_code";$rs = json_decode(CurlGet($url));//请求成功返回access_tokenif(isset($rs->{'access_token'})){//保存access_token$access_token = $rs->{'access_token'};$openid = $rs->{'openid'};//请求成功返回errcode}else if (isset($rs->{'errcode'})) {//# code...}//拉取用户信息(需scope为 snsapi_userinfo)$user = json_decode(CurlGet("https://api./sns/userinfo?access_token=".$access_token."&openid=".$openid."&lang=zh_CN"));echo $user->{'nickname'};?>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。