微信开发笔记:获取用户openid,以及用户头像昵称等信息
2016-10-28 14:24
666 查看
//需要服务号以上
微信开发的时候有一个很便利的途径来进行一个用户的一步注册登录,就是使用用户的微信信息来直接进行登陆,可以省去很多不必要的麻烦。那具体这些信息是如何来获取的呢?
首先呢,我们需要对微信进行一个授权,让微信页面有权限来读取我们的用户信息:
scope表示一个对用户的一个授权方式,这里我们用snsapi_userinfo也就是弹出式的授权,可以在用户没有关注公主号的情况下一样进行用户信息的获取。
appid就是我们公众号的appid。
回调的地址是在跳转完以后,微信平台会把用户端的页面跳转到这个回调的地址上,并且将一个code以get的形式发送过来,具体的处理方式是这样的:
function https_request($url){
$curl = curl_init(); //初始化一个cURL会话
//设置请求选项, 包括具体的url
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); //禁用后cURL将终止从服务端进行验证
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl,CURLOPT_HEADER,0); //
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10); //
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);
curl_close($curl);
$jsoninfo = json_decode($response,true);
return $jsoninfo;
}
$code = $_GET["code"];
$token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$appsecret&code=$code&grant_type=authorization_code";
$token_info = https_request($token_url);
//根据openid和access_token查询用户信息
$access_token = $token_info['access_token'];
$openid = $token_info['openid'];
$userinfo_url = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";
$user_info = https_request($userinfo_url);
我们从微信平台获得了code以后,就可以去交换access_token以及open_id了,有了access_token和open_id就可以最终获得我们需要的用户信息了,最后提醒下读者,不要忘记再页面的最后跳转回之前用户访问的页面哦,否则用户信息是获取到了,而用户界面就只有一个大白屏了。
ad58
微信开发的时候有一个很便利的途径来进行一个用户的一步注册登录,就是使用用户的微信信息来直接进行登陆,可以省去很多不必要的麻烦。那具体这些信息是如何来获取的呢?
首先呢,我们需要对微信进行一个授权,让微信页面有权限来读取我们的用户信息:
$redirect_uri = urlencode($url); //设置授权页面,此处填写回调的授权页面地址 $scope = 'snsapi_userinfo'; $appid = APPID; $url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={$appid}&redirect_uri={$redirect_uri}&response_type=code&scope={$scope}&state=1#wechat_redirect"; header('location:'.$url);
scope表示一个对用户的一个授权方式,这里我们用snsapi_userinfo也就是弹出式的授权,可以在用户没有关注公主号的情况下一样进行用户信息的获取。
appid就是我们公众号的appid。
回调的地址是在跳转完以后,微信平台会把用户端的页面跳转到这个回调的地址上,并且将一个code以get的形式发送过来,具体的处理方式是这样的:
function https_request($url){
$curl = curl_init(); //初始化一个cURL会话
//设置请求选项, 包括具体的url
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); //禁用后cURL将终止从服务端进行验证
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl,CURLOPT_HEADER,0); //
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10); //
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);
curl_close($curl);
$jsoninfo = json_decode($response,true);
return $jsoninfo;
}
$code = $_GET["code"];
$token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$appsecret&code=$code&grant_type=authorization_code";
$token_info = https_request($token_url);
//根据openid和access_token查询用户信息
$access_token = $token_info['access_token'];
$openid = $token_info['openid'];
$userinfo_url = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";
$user_info = https_request($userinfo_url);
我们从微信平台获得了code以后,就可以去交换access_token以及open_id了,有了access_token和open_id就可以最终获得我们需要的用户信息了,最后提醒下读者,不要忘记再页面的最后跳转回之前用户访问的页面哦,否则用户信息是获取到了,而用户界面就只有一个大白屏了。
ad58
相关文章推荐
- C#微信开发之旅(八):通过授权code以及openid获取用户信息
- 微信公众号开发-微信网页授权获取用户openid以及用户信息的步骤
- 微信公众号开发-微信网页授权获取用户openid以及用户信息的步骤
- 微信小程序获取用户openid,头像昵称信息,后台java代码
- 微信小程序开发之获取openid及用户信息
- 微信开发笔记——微信网页登录授权,获取用户信息
- 微信通过网页获取用户头像与昵称等信息
- 微信小程序开发之获取openid及用户信息
- php CI框架微信开发小记——获取openid和其他相关用户信息
- [004]微信公众账号开发教程第1篇-根据用户openID获取用户基本信息
- [置顶] java微信开发-之如何获取openid 和用户信息
- 微信公众号开发获取openID以及用户详细信息,超详细步骤,亲测开发
- 微信开发笔记——微信网页登录授权,获取用户信息
- 微信开发--怎么获取用户的信息(openid)
- 微信开发笔记——微信网页登录授权,获取用户信息
- 微信开发笔记——微信网页登录授权,获取用户信息
- 微信开发笔记-(2)获取用户基本信息
- .NET微信开发通过Access Token和OpenID获取用户信息
- 微信开发笔记——微信网页登录授权,获取用户信息
- 微信小程序开发之获取openid及用户信息