这两天在网上看到关于微信网页授权的文档,闲着没事就来做做
首先说说需要的材料
1. 一个可访问的域名或IP地址
2.微信公众平台(一定要先去https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index里面设置网页授权获取用户基本信息的网页账号)

3.草料二维码制作
首先说明一下,我用的是laravel框架
行,不废话了,代码直接上

 /***当用户同意授权(授权成功)时,微信会回调到$redirect_url这个链接,并且带上一个有效时间为五分钟的code(code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。)*/public function getUserDetail(){$redirect_url=urlencode("https://www.cacov.cn/crontab/getUserInfo");$url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=$this->appid&redirect_uri=$redirect_url&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect";return redirect($url);}/***通过code换取网页授权access_token*拉取用户信息(需scope为 snsapi_userinfo---上一个方法中设置)*/public function getUserInfo(){$code=$_GET['code'];$url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=$this->appid&secret=$this->appsecret&code=$code&grant_type=authorization_code";$res=$this->my_curl_wx_api($url,'GET');$access_token=$res['access_token'];//网页授权的access_token$openid=$res['openid'];//用户的openid//拉取用户的详细信息$user_url="https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";$user_res=$this->my_curl_wx_api($user_url,'GET');print_r($user_res);}/*** @param $url* @param string $type* @param array $data* @return mixed* 接口请求*/protected function my_curl_wx_api($url, $type = 'POST', $data = array()){$ch = curl_init();curl_setopt($ch, CURLOPT_URL,$url);curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $type);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);curl_setopt($ch, CURLOPT_HEADER,0);curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);curl_setopt($ch, CURLOPT_AUTOREFERER, 1);if($data){curl_setopt($ch, CURLOPT_POSTFIELDS, $data);}//curl_setopt ( $ch, CURLOPT_SAFE_UPLOAD, false);$result = curl_exec($ch);curl_close($ch);return json_decode($result, true);}完成上面的步骤后,就可以去草料二维码里面将getUserDetail方法的服务器位置生成一个二维码,然后用微信扫一下就好了。

PHP API微信网页授权接口实现相关推荐

  1. php 微信获取code,微信网页授权接口为什么获取不到code(已解决)

    一.调用第三方接口的方法 function https_request($url,$type='get',$res='json',$data = ''){ //1.初始化curl $curl = cu ...

  2. 后盾php文档,后盾PHP微信网页授权接口技术文档

    为什么要学习网页授权接口 如果用户在微信接口通过微信客户端中访问第三方网页,就可以通过网页授权接口来获取用户数据,就是在获取到用户的唯一openid后实现登陆状态 几乎所有的微信站点业务逻辑都需要用户 ...

  3. Java微信网页授权开发

    1.微信网页授权access_token与普通access_token区别 有效期:两者有效时间都是 7200s: 使用范围:通过网页授权获得的access_token,只能获取到对应的微信用户信息, ...

  4. 微信遇到特殊服务器,解决微信网页授权,出现errcode:40163,errmsg:codebeenused,看似微信访问了2次这个回调接口的问题...

    先说说自己理解的微信机制: 微信内访问自己服务器的页面,如果访问出错,微信就会认为是微信自身的问题,那么他就会开启另外一个IP来访问这个页面(什么上海的IP,深圳的IP不等),再把访问结果发回用户端, ...

  5. Nodejs实现微信网页授权及正确配置JS-SDK接口

    原文链接:<Nodejs实现微信网页授权及正确配置JS-SDK接口>- 陈帅华 帅华君将在本文介绍基于Nodejs实现微信网页授权以及如何正确在前后端配置JS-SDK接口. 微信网页授权 ...

  6. PHP实现微信公众平台开发---提升篇(网页授权接口)

    网页授权接口(类似于浏览器通过cookie|session标识客户 微信端通过openid标识) 接口类型(通过网页授权 获取openid) snsapi_base:基本类型 静默授权并自动跳转到回调 ...

  7. 微信公众平台开发--微信网页授权

    在微信公众号开发中实现微信用户自动登陆第三方的功能: 条件: 1.公众号必须为微信认证服务号: 2.在公众号接口权限->网页账号 网页授权获取用户基本信息 修改需要OAuth2.0鉴权的域名: ...

  8. 微信网页授权,获取微信code,获取access_tocken,获取用户信息

    微信开发中,经常有这样的需求:获得用户头像.绑定微信号给用户发信息.. 那么实现这些的前提就是授权! 1.配置安全回调域名: 在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的" ...

  9. java : 实现微信网页授权,超详细!

    背景 使用微信公众号实现网页授权. 开始 1.微信网页授权的官方文档 微信网页授权 2.申请微信测试公众号 从红框进入申请页面. 填写必要的信息,注意上图红框部分的域名需要可以外网能够访问,微信需要发 ...

  10. 微信公众号开发(一) 微信网页授权登录

    微信网页授权登录 前期准备 授权登录 获取微信数据 处理授权拒绝 前期准备 1.微信公众号开发,首先要搞一个公众号,开发阶段可以申请一个公众平台测试账号. (进入到微信公众公众平台,找到开发者工具,点 ...

最新文章

  1. 10个 Python 工程师,9个不合格!
  2. 如何让 zend studio 10 识别 Phalcon语法并且进行语法提示
  3. ElasticSearch PPT-笔记
  4. VS-c# web程序:gridview保存Excel文件遇到的问题
  5. fork、vfork、wait、waitpid
  6. checkbox已设置为checked--true-但不勾选问题解决方法(只第一次勾选有效)
  7. 短信微信等消息发送系统的架构设计
  8. Kotlin 基本数据类型(五)
  9. 开课吧课堂:Kubernetes集群环境常见问题解决
  10. 如何用BootStrap栅格系统实现响应式布局
  11. html文字边框颜色,css背景颜色/文字/边框 设置渐变色
  12. 微型计算机求RAM片数,微机原理随堂练习答案及解析..doc
  13. 2018-2019赛季多校联合新生训练赛第四场题解与补题(中石油)
  14. “科比男孩”被美国大学录取 即将出国圆梦
  15. PageOffice实现在线编辑Word的手写批注功能
  16. js实现文字转语音功能tts
  17. 我是如何拿到腾讯头条美团小米的offer从小厂跳到大厂的?深夜思考
  18. HDU2091题解——空心三角形
  19. 苹果自带地图定位 经纬度
  20. Word2010怎么给文档设置权限用密码进行加密防止他人查看

热门文章

  1. 注册(四)之删除绑定
  2. 【数据分享】全国357个城市历年空气质量数据(2013-2021)
  3. python logging模块使用详解
  4. 用梯度下降求解最小二乘线性回归python实现
  5. spark读取gz文件与parquet文件
  6. 字符串匹配---KMP
  7. linux bootloader启动流程,技术|Linux 的启动流程详解
  8. html限制显示字数其余用...代替,html实现钝角效果;html实现限制一行字数的显示,超出的部分用省略号(....)来代替...
  9. python多进程_python学习笔记:多进程
  10. python获取音频音量大小_如何在python中规范化音频文件的音量:当前可用的任何包?...