根据需求,我今天完成的是微信的网页授权然后拉取用户的一些基本信息的问题。
1.修改网页授权的基本信息。打开微信公众平台。
在这个地方写要授权的页面的网址。
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
我是直接在测试的那个网页(也就是进行授权)的控制器直接对其操作
代码:
|
1
2
3
4
5
6
7
|
$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
然后如果是正确的话,就能获取access_token,因为access_token的时效性的问题,所以可以把access_token替换成refresh_token,我因为自己觉得并不需要,所以就没有写那一步。
这边要是换取的时候有错的话,就会显示{"errcode":40029,"errmsg":"invalid code"}
3)利用openid和access_token获取用户的头像昵称等基本信息。
代码:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
$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);就可以打印出用户的基本信息,然后只要入库就可以了。
这边还有个问题,就是我这边用到的一个函数https_request
他在function中的源代码:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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;
}
|
这样应该没有问题了,就是授权的全部内容。
以上所述是小编给大家介绍的微信公众号oauth2.0网页授权问题浅析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对快网idc网站的支持!
相关文章
- ASP.NET自助建站系统的数据库备份与恢复操作指南 2025-06-10
- 个人网站服务器域名解析设置指南:从购买到绑定全流程 2025-06-10
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 64M VPS建站:能否支持高流量网站运行? 2025-06-10
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
-
云服务器上建站:操作系统选型(Linux vs Windows)的影响
2025-06-04 45 -
2025-05-25 69
-
2025-05-25 46
-
2025-05-29 59
-
2025-06-04 86







