微信登陆代码

网页访问 https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxx&redirect_uri=http://dopan.net/ceshiweixin.php&response_type=code&scope=snsapi_userinfo&state=123&connect_redirect=1#wechat_redirect 保存以下内容至文件,回调至这个网页

 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 </head>
 <body>
 <?php
 $code = $_GET['code'];
 $state = $_GET['state'];
 //换成自己的接口信息
 $appid = 'xxx';
 $appsecret = 'xxx';
 if (empty($code)) $this->error('授权失败');
 $token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code';
 $token = json_decode(file_get_contents($token_url));
 
 if (isset($token->errcode)) {
     echo '<h1>错误:</h1>'.$token->errcode;
     echo '<br/><h2>错误信息:</h2>'.$token->errmsg;
     exit;
 }
 $access_token_url = 'https://api.weixin.qq.com/sns/oauth2/refresh_token?appid='.$appid.'&grant_type=refresh_token&refresh_token='.$token->refresh_token;
 //转成对象
 $access_token = json_decode(file_get_contents($access_token_url));
 
 if (isset($access_token->errcode)) {
     echo '<h1>错误:</h1>'.$access_token->errcode;
     echo '<br/><h2>错误信息:</h2>'.$access_token->errmsg;
     exit;
 }
 $user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token->access_token.'&openid='.$access_token->openid.'&lang=zh_CN';
 //转成对象
 $user_info = json_decode(file_get_contents($user_info_url));
 if (isset($user_info->errcode)) {
     echo '<h1>错误:</h1>'.$user_info->errcode;
     echo '<br/><h2>错误信息:</h2>'.$user_info->errmsg;
     exit;
 }
 //打印用户信息
 echo '<pre>';
 print_r($user_info);
 echo '</pre>';
 ?>
 
 </body>
 </html> 

如果微信开发的时候碰到了redirect_uri 参数错误的问题,尝试一下方法

如果授权文件目录为www.xxxx.com/xxx/xxx/OAuth2.0.PHP,那么回调域名就要 填www.xxxx.com/xxx/xxx

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏别先生

'mysql' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

1、C:\Users\Aiyufei>mysql -h 127.0.0.1 -u root 'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件。...

91530
来自专栏GreenLeaves

Oracle 客户端、服务器、数据库、数据库对象(表、视图等)的关系

1、数据库服务器 所谓数据库服务器,只是在机器上安装了一个数据库管理软件,这个软件可以管理多个数据库.一般开发人员会针对每一个应用创建一个数据库 2、单实例数据...

24360
来自专栏性能与架构

页面优化 - 使用cookie-free提高效率

在Yslow等页面优化建议中常会看到一个指标“Use cookie-free domains” 原因 当浏览器请求一个静态图片时,也会一并发送此域名的Cooki...

39570
来自专栏游戏杂谈

Linux的scp命令

linux下的scp命令,用于双台linux服务器之间互拷文件(本机到远程或远程到本机)。

39220
来自专栏圣杰的专栏

VSTS 执行git pull报错问题修复

因此我们在执行git pull之前添加一个Command Line指令去执行git config即可,具体配置如下:

7020
来自专栏电光石火

微信登陆代码

网页访问 https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxx&redirect_uri=...

25190
来自专栏lgp20151222

SVN错误:SVN Working copy XXX is too old

这是因为使用了低版本的svn生成了.svn内文件内容,但是,使用高版本svn同步时便出现该问题。

19510
来自专栏Java学习123

备忘几个有用的shell脚本

28680
来自专栏Jed的技术阶梯

通过已有的虚拟机克隆四台虚拟机

环境准备:一个已经安装好的虚拟机 要求: 删除了 /etc/udev/rules.d/70-persistent-net.rules 这个文件后,关机,保存...

28520
来自专栏散尽浮华

zabbix监控主机cpu达到80%后报警

在zabbix监控中,默认cpu监控模板中的触发器,当负载在一定时间内(比如最近5分钟)超过5以上为报警阀值。但是在实际场景中,由于服务器配置不一样,这个默认的...

39160

扫码关注云+社区

领取腾讯云代金券