摘要:本文将带你了解微信开发之如何获取用户openid,以及用户头像昵称等信息,希望本文对大家学微信有所帮助。
微信开发的时候有一个很便利的途径来进行一个用户的一步注册登录,就是使用用户的微信信息来直接进行登陆,可以省去很多不必要的麻烦。那具体这些信息是如何来获取的呢?
首先呢,我们需要对微信进行一个授权,让微信页面有权限来读取我们的用户信息:
$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就可以最终获得我们需要的用户信息了,最后提醒下读者,不要忘记再页面的最后跳转回之前用户访问的页面哦,否则用户信息是获取到了,而用户界面就只有一个大白屏了。
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之微信频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号