获取用户基本信息
之前的三篇文章是拿面向过程写的 有点low哈 换成框架写了
我这里是TP5框架(大同小异)
直接说一下授权流程吧
思路:
1.准备好Appid和Appsecret
2.通过appid请求微信接口获取code
3.请求欧回调至getuserinfo方法
4.再通过getuserinfo方法获取openid
有一些要注意的点:
测试号的回调地址不要带http或者https什么的
直接写" www.aa.com "这种就行
你的代码回调地址要写getuserinfo的准确地址
上!代! 码!
public function wxLogin()
{
$AppID = '你的appid';
$redirect_uri = urlencode('http://xx.xx.cn/index/wxSample/getUserInfo');
//跳转微信回调到redirect_uri获取code
$url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=$AppID&redirect_uri=$redirect_uri&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";
return redirect($url);
}
public function getUserInfo()
{
//echo '2';
$code = $_GET["code"];
$AppID = '你的appid';
$Appsecret = '你的appsecret';
$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$AppID&secret=$Appsecret&code=$code&grant_type=authorization_code";
$res = $this->sendRequest($url);
$access_token = $res["access_token"];
$openId = $res['openid'];
$getUserInfo = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openId&lang=zh_CN";
$user_info = $this->sendRequest($getUserInfo);
var_dump($user_info);
}
public function sendREquest($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);
}
评论已关闭