官方文档:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
网上搜了很多关于这方面的教程,都不全面,做为新手,总结一下:
1,必须是认证过的服务号或者订阅号才有权限,没认证的就不要试了。
2,需要在公众号设置里进入 公众号设置-》功能设置》网页授权域名填写服务器地址。
3,需要准备Appid和AppSecrct需要获得接口时使用。
4,新手入门,代码写的不好 请多指教
PS:CSDN的代码块不能自动换行,注意请求的HTTP网址都很长
复制代码要复制全。
上代码
if(empty($_GET))
{ //判断是否有GET参数,可以将下面链接放入公众号中跳转
$nurl="https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redi";
echo "<a href = $nurl>获得授权</a> ";
//替换上面的APPID和REDIRECT_URI回调地址(php文件地址)
}
else
{ //如果是跳转链接,带有code数据执行
$code = $_GET['code']; //获得code
$state= $_GET['state'];
$appid= "APPID";//替换你的APPID
$secret="SECRET";//替换你的SECRET
$url= "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code"; //请求openid和access地址
$res =file_get_contents($url); //发送请求获得JSON数据
$json_data = json_decode($res,ture);
//格式化收到的数据 默认为object类 加参数ture为数组
$openID=$json_data['openid'];//得到请求的openid
$access_token=$json_data['access_token'];//得到请求的access
$url3= "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openID&lang=zh_CN";
//请求获得用户信息
$res3=file_get_contents($url3);
$json3=json_decode($res3,ture);//格式化json信息
$wxname = $json3['nickname']; //微信昵称
$wxcity = $json3['city']; //城市
$headimg= $json3['headimgurl'];//头像地址
//输出信息";
echo "<img src=$headimg />";
echo "<hr>欢迎光临 $wxname 来自 $wxcity";
}
在这里插入代码片