PHP 微信公众号拉取微信授权(TP6B版本)
前期准备工作:
1:拿到开发者id,开发秘钥,设置IP白名单
2:设置业务域名,接口安全域名,授权域名
3:根据前端传入code参数获得用户微信信息:代码如下
/**
* 获得用户信息
*/
public function test()
{
$code = input('code');
if (!$code) {
echo '缺少code参数';
}
//上面获取到code后这里跳转回来
$appid = '*****'; //公众号appid
$secret = '*****'; //公众号开发秘钥
$get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' . $appid . '&secret=' . $secret . '&code=' . $code . '&grant_type=authorization_code';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $get_token_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$res = curl_exec($ch);
curl_close($ch);
$json_obj = json_decode($res, true);
//根据openid和access_token查询用户信息
$access_token = $json_obj['access_token'];
$openid = $json_obj['openid'];
$get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token=' . $access_token . '&openid=' . $openid . '&lang=zh_CN';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $get_user_info_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$res = curl_exec($ch);
curl_close($ch);
//解析json
$value = json_decode($res, true);
halt($value);//打印获得的用户信息
//拿到用户信息后,后续根据需求补充
}
到此微信公众号授权获得用户信息就结束,后续根据自己需求再补充