在微信小程序中,通过授权登录可以获取用户的基本信息,但是由于小程序获取用户信息的流程比较繁芜,也有很多步骤,以是本文将一步步的先容如何在PHP开拓的环境下获取小程序授权用户的信息。
二、准备事情
1、安装微信小程序开拓工具,申请一个小程序,并记住小程序的AppID和AppSecret,这些都是后面须要用到的参数;
2、安装PHP开拓环境,并设置好环境变量;
3、安装微信SDK,SDK的地址为:https://github.com/dodgepudding/wechat-php-sdk
三、步骤
1、登录小程序后台,点击左侧菜单“设置”,然后点击“开拓设置”,在弹出的页面中,找到“做事器域名”,然后设置你要吸收小程序用户信息的域名,比如:www.example.com。
2、在PHP开拓环境中,创建一个新的文件,名字叫login.php,然后复制下面这段代码到文件中:
<?php
require_once 'wechat-php-sdk/autoload.php';
// 利用长整型,防止有的系统把ID转换成浮点数
$appId = 'wx1234567890abcdef';
$appSecret = '1234567890abcdefghijklmnopqrstuv';
$wechat = new \Wechat\Wechat(array('appId' => $appId, 'appSecret' => $appSecret));
// 获取code
$code = $_GET['code'];
// 利用code换取用户信息
$data = $wechat->getOauthAccessToken($code);
// 获取access_token
$access_token = $data['access_token'];
// 利用access_token获取用户信息
$userInfo = $wechat->getOauthUserinfo($access_token,$data['openid']);
// 打印用户信息
print_r($userInfo);
?>
然后,将上面代码中的$appId和$appSecret更换成你记住的小程序AppID和AppSecret,完成后,保存文件。
3、在小程序中,创建一个新的页面,用于授权登录,然后在页面的js文件中添加以下代码:
// 这里填写你的吸收用户信息的域名
var domain = 'www.example.com';
// 获取用户信息
wx.getUserInfo({
success: function (res) {
var userInfo = res.userInfo;
// 将用户信息发送给做事器
wx.request({
url: 'https://' + domain + '/login.php',
data: {
code: res.code,
userInfo: userInfo
},
success: function (res) {
// 吸收做事器返回的用户信息
console.log(res.data);
}
});
}
});
然后,将上面代码中的domain更换成你设置的域名,完成后,保存文件。
4、在小程序中,在用户点击授权登录按钮之后,就会发起一个要求,要求发往你设置的域名,在login.php中,会吸收到这个要求,然后就可以获取用户的信息了,比如头像、昵称等。
以上便是本文关于php开拓之微信小程序授权用户信息的教程的全部内容,希望对大家有所帮助!