一、前言
在微信小程序中,通過授權(quán)登錄可以獲取用戶的基本信息,但是由于小程序獲取用戶信息的流程比較復(fù)雜,也有很多步驟,所以本文將一步步的介紹如何在php開發(fā)的環(huán)境下獲取小程序授權(quán)用戶的信息。
二、準(zhǔn)備工作
1、安裝微信小程序開發(fā)工具,申請一個(gè)小程序,并記住小程序的AppID和AppSecret,這些都是后面需要用到的參數(shù);
2、安裝PHP開發(fā)環(huán)境,并設(shè)置好環(huán)境變量;
3、安裝微信SDK,SDK的地址為:
https://github.com/dodgepudding/wechat-php-sdk
三、步驟
1、登錄小程序后臺(tái),點(diǎn)擊左側(cè)菜單“設(shè)置”,然后點(diǎn)擊“開發(fā)設(shè)置”,在彈出的頁面中,找到“服務(wù)器域名”,然后設(shè)置你要接收小程序用戶信息的域名,比如:www.example.com。
2、在PHP開發(fā)環(huán)境中,創(chuàng)建一個(gè)新的文件,名字叫l(wèi)ogin.php,然后復(fù)制下面這段代碼到文件中:
<?php
require_once 'wechat-php-sdk/autoload.php';
// 使用長整型,防止有的系統(tǒng)把ID轉(zhuǎn)換成浮點(diǎn)數(shù)
$appId = 'wx1234567890abcdef';
$appSecret = '1234567890abcdefghijklmnopqrstuv';
$wechat = new WechatWechat(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、在小程序中,創(chuàng)建一個(gè)新的頁面,用于授權(quán)登錄,然后在頁面的js文件中添加以下代碼:
// 這里填寫你的接收用戶信息的域名
var domain = 'www.example.com';
// 獲取用戶信息
wx.getUserInfo({
success: function (res) {
var userInfo = res.userInfo;
// 將用戶信息發(fā)送給服務(wù)器
wx.request({
url: 'https://' + domain + '/login.php',
data: {
code: res.code,
userInfo: userInfo
},
success: function (res) {
// 接收服務(wù)器返回的用戶信息
console.log(res.data);
}
});
}
});
然后,將上面代碼中的domain替換成你設(shè)置的域名,完成后,保存文件。
4、在小程序中,在用戶點(diǎn)擊授權(quán)登錄按鈕之后,就會(huì)發(fā)起一個(gè)請求,請求發(fā)往你設(shè)置的域名,在login.php中,會(huì)接收到這個(gè)請求,然后就可以獲取用戶的信息了,比如頭像、昵稱等。
以上就是本文關(guān)于php開發(fā)之微信小程序授權(quán)用戶信息的教程的全部內(nèi)容,希望對大家有所幫助!