php利用微信接口获取微信用户信息
来源:互联网 发布:阿里云先知大会 编辑:程序博客网 时间:2024/06/11 20:15
1 .到微信公众管理平台配置接口信息
当点击提交时如未实现通过,多点几次或者检查自己的配置文件写正确没:
以下是配置文件index.php代码,自己写好后上传到上面第二张图片配置的url相对应的目录下
//获得参数
signature nonce token timestamp echostr
$nonce = $_GET['nonce'];
$token = 'weixinqq';// 此处的token和第二张图片的token必须一致
$timestamp = $_GET['timestamp'];
$echostr = $_GET['echostr'];
$signature = $_GET['signature'];
//形成数组,然后按字典序排序
$array = array();
$array = array($nonce, $timestamp, $token);
sort($array);
//拼接成字符串,sha1加密 ,然后与signature进行校验
$str = sha1( implode( $array ) );
if( $str == $signature && $echostr ){
//第一次接入weixin api接口的时候
echo $echostr;
exit;
}
注意的一点是:必须先把配置文件上传到服务器在配置,不然配置信息时,微信服务器检测不到该文件,将无法配置。
2.配置好后,我们就开始进行网页授权,获取用户的基本信息
第一步:到微信管理平台,找到网页授权,设置回调域名
以上内容,我们就配置好了。接下来,我们需要做的就是用户信息。
第二步:
获取用户信息必须经过一下四个步骤:
1. 获取code:
自己写一个php文件或者可以将以下每个步骤的代码全部写在一个文件中也可
创建一个test.php文件,写入如下代码
<?php
// 配置redirect_url
$redirecturl = urlencode("http://www.baidu.com/code.php");//此时的域名www.baidu.com就是在网页授权中的域名
// appid
$appid='自己微信公众号的appid,可在微信公众号管理平台查看';
// 请求路径
$url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri='.$redirecturl.'&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect';
//自动跳转到获取code界面
header("Location:$url");
创建一个code.php文件,写入如下代码
<?php
//前端传来的code值
$code = $_GET['code'];
//通过code换取网页授权access_token
$appid = "自己微信公众号的appid,可在微信公众号管理平台查看";
$appsecret = "自己微信公众号的appsecret,可在微信公众号管理平台查看";
$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$appsecret&code=$code&grant_type=authorization_code";
$result = https_request($url);
$jsoninfo = json_decode($result, true);
// 耍新access_token
$refresh_token = $jsoninfo["refresh_token"];
$access_token_url = "https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=$appid&grant_type=refresh_token&refresh_token=$refresh_token";
$resh_result = https_request($access_token_url);
// 获取用户信息
$accesstokenInfo = json_decode($resh_result, true);
$access_token = $accesstokenInfo["access_token"];
$openid = $accesstokenInfo["openid"];
$userinfourl = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";
$userinfoResult = https_request($userinfourl);
var_dump(json_decode($userinfoResult, true));
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;
}
?>
将以上两个文件保存,上传到服务器的同一目下(因为test.php中$redirecturl配置的就是同一目录,具体视情况而定)。
将以上文件上传到服务器后,打开微信访问test.php文件,即可一步步实现用户授权,并显示用户信息。
至于实现原理,查看微信官方文档
如以上内容存在错误,请大家留言。
- php利用微信接口获取微信用户信息
- 微信开发 获取用户信息两个接口
- 微信获取用户信息
- 微信获取用户信息
- 微信获取用户信息
- 微信获取用户信息
- 获取微信用户信息
- 【微信开发】获取用户信息
- 微信获取用户信息实例
- 微信授权获取用户信息
- 微信获取用户信息的两个接口和两个ACCESS_TOKEN
- 微信授权登录并获取用户信息接口开发
- 微信获取用户信息的两个接口和两个ACCESS_TOKEN
- 微信授权登录并获取用户信息接口开发
- 微信授权登录并获取用户信息接口开发
- 微信授权登录并获取用户信息接口开发
- php之微信开发(获取用户信息)
- PHP---微信OAuth2.0网页授权获取用户信息
- Oracle TNS监听探讨
- 都是缓存惹的火
- Blender 2.7.7 引用OSL文件的路径问题
- 231. Power of Two
- Windows客户端开发--WMI技术介绍
- php利用微信接口获取微信用户信息
- React Native控件之ViewPagerAndroid讲解
- mysql基础篇---mysql查询语句干货!!!
- 杂
- 【树DP+基环树】[NOI2013]快餐店
- Openstack组件实现原理 — Nova 体系结构
- shell脚本中实现脚本a里面的函数调用脚本b中的函数参数-用到source关键字
- Spring知识点提炼
- MUI开发注意事项