微信公众号网页授权,获取用户信息以及openid -- PHP后台
微信公众号网页授权,获取用户信息以及openid
这几天做项目,想通过公众号的appid获取用户的openid就,然后在网上查资料,问朋友,最后找到了方法,就是这个网页授权。
起初一直很蒙,这个怎么弄,又是需要code,又是需要允许授权的,我怎么获取这个code,在哪里出发这个网页授权的事件呢,最后弄明白了,其实很简单。
首先我们先写一个html网页,比如这样的:
点击·确认授权·,执行下面php代码里面的request_wechat1
方法就ok了。
对,没错,这就完成了,简单吗,是不是很简单,只需要一步
PHP代码:
public function request_wechat1(){$app_id = '微信公众号appid';// 回调地址$redirect_url = 'https://www.tjhaizhixian.com/seafood/public/index/base/get_open_id1';$url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" . $app_id . "&redirect_uri=" . $redirect_url . "&response_type=code&scope=snsapi_base&state=0#wechat_redirect";header("Location:{$url}");die;
}
/*** 微信回调地址,以获取openid*/
public function get_open_id1(){$code = Request::instance()->param('code');$app_id = '微信公众号appid';$app_secret = '微信公众号app_secret';//第一步:取全局access_token$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$app_id}&secret={$app_secret}";$token = $this->get_json($url);//第二步:取得openid$oauth2Url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={$app_id}&secret={$app_secret}&code={$code}&grant_type=authorization_code";$oauth2 = $this->get_json($oauth2Url);//第三步:根据全局access_token和openid查询用户信息$access_token = $token["access_token"];$openid = $oauth2['openid'];$get_user_info_url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$openid&lang=zh_CN";$userinfo = $this->get_json($get_user_info_url);print_r($userinfo);
}protected function get_json($url){$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($ch);curl_close($ch);return json_decode($output, true);
}
谢谢观看,有建议可以私信
微信公众号网页授权,获取用户信息以及openid -- PHP后台相关推荐
- 微信公众号网页授权获取用户信息的流程
官网文档 网页授权流程分为四步: 引导用户进入授权页面同意授权,获取code 通过 code 换取网页授权access_token(与基础支持中的access_token不同)(我的需求只需要到第二部 ...
- php微信授权没有code返回,解决关于微信公众号网页授权获取code参数的问题
解决关于微信公众号网页授权获取code参数的问题 发布时间:2018-07-24 23:21, 浏览次数:3327 , 标签: code * 在微信网页授权过程中,需要获取code参数,因为我用的是公 ...
- 微信公众号开发之获取用户信息
微信获取用户信息的方式有两种,静默授权(无需用户同意)和非静默授权(需要用户" 手动点击 "拉取授权,可以用户无需关注公众号即可获取用户信息) 整体的代码请查看最后,前边为原理介绍 ...
- 微信公众号接入和获取用户信息
主要原理: 1.从微信公众号发来的get请求为验证服务器安全性的 2.从微信公众号发来的post请求为接受和回复用户信息的 3.先根据是否有code来进行判断,如果有code的话,根据code换取op ...
- 【微信公众号开发】获取用户信息时,有时成功获取,有时提示“invalid openid hint”
原因:保存openid的session在某个方法里被重新赋新值了.所以一旦调用了这个方法,再去获取用户信息时,就会报错.
- 微信授权地理位置php,微信公众号第三方授权获取用户的的地理位置--坑
首先注册公众号,配置好 URL js URl ,这个就不多介绍了 第一步,直接 在菜单里 同意授权,获取code 这是第一个坑 ,记住,一定要用 urlEncode 对你的 重定向 URL 进行处 ...
- 微信公众号第三方授权获取用户的的地理位置--坑
首先注册公众号,配置好 URL js URl ,这个就不多介绍了 第一步,直接 在菜单里 同意授权,获取code 这是第一个坑 ,记住,一定要用 urlEncode 对你的 重定向 URL 进行处理 ...
- 微信公众号网页授权--前端获取code及用户信息(vue)
前段时间开发微信公众号网页授权,虽然网上已经有很多关于这方面的博客或者教程,但是第一次开发还是遇到挺多坑的,以下分享一下我的踩坑填坑之路. 一.测试号相关配置 首先在你公司申请的测试号上配置好相关信息 ...
- 微信公众号网页授权--前端获取code及用户信息(vue)【简单详细版】
嗨喽大家好,前段时间开发微信公众号网页授权,虽然网上已经有很多关于这方面的博客或者教程,但是第一次开发还是遇到挺多坑的,以下分享一下我的遇到的一些问题的见解,希望对你们有帮助. 一.测试号相关配置 首 ...
最新文章
- FPGA之道(33)Verilog数据类型
- android使用java library module时初始化OkHttpClient时报错 ClassDefNotFoundError之类的
- Angular复习笔记(一)
- SAP UI5 应用开发教程之五十五 - 如何将本地 SAP UI5 应用通过 Node.js Express 部署到公网上试读版
- github 学习使用
- [openjudge] 2797最短前缀 Trie
- mysql简介博客_mysql简介
- 【Altium Designer】PCB如何生成Gerber文件
- LSB算法BMP图片信息隐藏技术 c语言
- JQuery 解决多个文件下载只下载一个的问题
- 计算物品的良率(python)
- 中国省市地图json数据包及解析
- 习题4-9 打印菱形图案(15分)
- winXP系统在“我的电脑”里打不开FAT32的U盘(8G)的一种解决办法
- 计算机编程课程顺序_您可以在2月开始免费在线编程和计算机科学课程
- 2022-2027年中国紫苏行业市场全景评估及发展战略规划报告
- ShareSDK微信分享时的坑
- “国防七子”经费暴增,清华足足362亿元,甩第二名101亿 |全国高校2022预算大公开...
- Ubuntu找不到Wi-Fi适配器No Wi-Fi Adapter Found修复笔记
- 端口、TCP/UDP、端口转发、UPnP