微信公众号授权获取用户信息

匿名 (未验证) 提交于 2019-12-03 00:42:01

同上一篇文章

同上一篇文章

include "conf.php"; 
// 微信端授权登录---生成二维码 $code_url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$re_url&response_type=code&scope=$scope&state=$state#wechat_redirect";
include ‘phpqrcode.php‘; // 官网下载地址 https://sourceforge.net/projects/phpqrcode/files/
$QR=‘qrcode.png‘; // 二维码图片名称
$errorLevel = "L"; //定义纠错级别
$size = "4"; //定义生成内容
QRcode
::png($code_url, $QR, $errorLevel, $size, 2); // 执行生成图片
echo ‘<img src="‘.$QR.‘">‘; //输出二维码

注意:二维码生成目录必须有创建写入文件权限

4、也可是使用用户微信端打开连接 (与 第3 步 执行方式不同)code.php

 include "conf.php"; //https://mp.weixin.qq.com/cgi-bin/settingpage?t=setting/function&action=function&token=782251143&lang=zh_CN //网页授权域名 域名/wx,不带 http://  $code_url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$re_url&response_type=code&scope=$scope&state=$state#wechat_redirect"; header("Location:".$code_url); exit;

5、通过用户点击同意授权获取用户信息

include "conf.php";  // 引入配置文件  if(isset($_GET[‘code‘]) && isset($_GET["state"])) {     if($state!=$_GET["state"])     {         exit("state_error");     }      $code=$_GET[‘code‘];     $token_url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$appsecret&code=$code&grant_type=authorization_code";     $token_resturn=https_get($token_url);     $token_data=json_decode($token_resturn,true);      //如果请求 access_token 失败     if(isset($token_data["errcode"]))     {         exit($token_data["errmsg"]);     }      $openid=$token_data["openid"];     $web_access_token=$token_data["access_token"];     $refresh_token=$token_data["refresh_token"];      // 验证access_token 是否有效     $refresh_url="https://api.weixin.qq.com/sns/auth?access_token=$web_access_token&openid=$openid";     $refresh_info=https_get($refresh_url);     $refresh_info=json_decode($refresh_info,true);     // 如果access_token 过期     if($refresh_info["errcode"]!==0)     {         //  刷新 access_token         $refresh_access_token="https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=$appid&grant_type=refresh_token&refresh_token=$refresh_token";         $refresh_resturn=https_get($refresh_access_token);         $refresh_data=json_decode($refresh_resturn,true);         // 如果刷新获取失败         if(isset($refresh_data["errcode"]))         {             exit($refresh_data["errmsg"]);         }         // 如果成功再次赋值         $web_access_token=$refresh_data["access_token"];         $refresh_token=$refresh_data["refresh_token"];     }      // 拉取用户信息     $user_url="https://api.weixin.qq.com/sns/userinfo?access_token=$web_access_token&openid=$openid&lang=zh_CN";     $user_info=https_get($user_url);     $user_info=json_decode($user_info,true);     // 如果获取用户信息失败     if(isset($user_info["errcode"]))     {         exit($user_info["errmsg"]);     }      /*$v=var_export($user_info,TRUE); // 获取用户信息写入数据库 测试     file_put_contents("callback.txt",$v);*/ }

原文:https://www.cnblogs.com/xuey/p/9346643.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!