在这个地方写要授权的页面的网址。
2.我这边只是测试这个功能,所以我页面直接写了个测试页面,我在要测试的这个网站的根目录新建了一个ceshi.html
然后在他的控制器里面对其进行操作。
1)首先是分享的也就是授权的网页的链接要写的正确
然后url:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx444444444444&redirect_uri=http://www.erdangjiade.com/Admin/Wx/ceshi.html&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect
2)使用code获取access_token
我是直接在测试的那个网页(也就是进行授权)的控制器直接对其操作
代码:
$code=$_GET["code"];dump($code);$url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=wxd1caae7&secret=0a72c866233ab4cf6f1ad6d&code=".$code."&grant_type=authorization_code";//var_dump($url);$resInfo = https_request($url,true);$userLists=json_decode($resInfo,true);dump($userLists);这边可以答应出我这边写的$userLists
这边要是换取的时候有错的话,就会显示{"errcode":40029,"errmsg":"invalid code"}
3)利用openid和access_token获取用户的头像昵称等基本信息。
代码:
$access_token=$userLists["access_token"];$openid=$userLists["openid"];$userClick=M("maiclub_userclick");if($userClick->where("openid = "{$openid}"")->find()){//echo 1111;}else{$urlInfo="https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token."&openid=".$openid;$resltInfo=https_request($urlInfo,true);$userInfo=json_decode($resltInfo,true);$userClick->add($userInfo);}dump($userInfo);// dump($access_token);$this->display();
dump($userInfo);
就可以打印出用户的基本信息,然后只要入库就可以了。function https_request($url, $data = null){$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);if (!empty($data)){curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $data);}curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($curl);curl_close($curl);return $output;}这样应该没有问题了,就是授权的全部内容。