微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转
来源:互联网 发布:优化最差的游戏 编辑:程序博客网 时间:2024/05/16 11:20
之前做了个自定义菜单的click事件,但是订阅号升级为服务号,相应的有了网页的基础授权(需要认证的服务号)
其中使用到了自定义菜单接口:http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html
网页授权获取用户基本信息接口:http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html
一、在接口处获取网页授权,并填写你的域名或ip(域名不需要协议 http://www.baidu.com而是www.baidu.com)
二、在自定义菜单出的url写入“第一步:用户同意授权,获取code”的url,并将redirect_uri写成你的VIEW时间点击后需要跳转的路径,如下:
"button": [ { "type": "click", "name": "图文获取", "key": "图文" }, { "type": "view", "name": "授权获取", "url": "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx0738856156f7323c&redirect_uri=http://www.你的网址.com&response_type=code&scope=snsapi_base&state=1#wechat_redirect" } ]}
三、在请求成功后返回code并用来获取openid
通过code获取openid的参数如上,即在入口文件中为:
- /**
- * @desc 向微信接口发送请求
- **/
- function getJson($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);
- }
-------------------------------------------------------------------------------------我是分割线-------------------------------------------------------------------------------------------------
但是有些时候需要页面重定向出下面的效果:
这时候就需要页面重定向:
①判断是否有$_GET['code'],若则将页面重定向到网页授权页面
$now_url ='http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];//获取当前url$judge = preg_match("/stat/" ,$now_url);//正则判断是否网页授权urlif(!$_SESSION['nowUrl'] && !$judge){ //搜索到oauth2这个词不存在时,证明这个url不是经过处理的 $_SESSION['nowUrl'] = $now_url; //生成session用于判断 $url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx50090139912065bd&redirect_uri=http://xxx&response_type=code&scope=snsapi_base&stat"; header("Location:$url");}
② 经过①,页面已重定向到网页授权页面,如果你不在微信打开就会出现:请在微信客户端打开链接,如果在微信打开则如下操作:
if($_SESSION['nowUrl']){ $url = $_SESSION['nowUrl']; unset($_SESSION['nowUrl']); header("Location:$url"); //销毁session后跳转回去}
这样我们就做好了微信网页授权(可避免在微信外打开)-\-\
- 微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转
- 微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转
- 微信公众号OAuth 点击菜单按钮 跳转页面授权 获取openid
- 微信公众号OAuth 点击菜单按钮 跳转页面授权 获取openid
- 微信公众号开发网页授权获得OPENID的过滤器
- 微信公众号网页授权获取用户openid
- 微信公众号开发-微信网页授权获取用户openid以及用户信息的步骤
- 微信公众号开发-微信网页授权获取用户openid以及用户信息的步骤
- 微信公众平台开发(99) 自定义菜单获取OpenID
- 微信公众平台开发(99) 自定义菜单获取OpenID
- 微信公众号开发--自定义菜单跳转页面并获取用户信息
- 微信公众号开发--自定义菜单跳转页面并获取用户信息(续)
- 微信公众号开发--自定义菜单跳转页面并获取用户信息
- 微信开发自定义菜单获取OpenID
- 微信公众号菜单openid 点击菜单即可打开并登录微站
- 微信公众平台开发----自定义菜单、消息处理及获取OpenID(C#)
- java微信公众号开发,认证,自定义菜单,消息推送,网页跳转
- 微信自定义菜单view类型获取openid访问网页
- Windows 7 64bit下使用adb 命令提示找不到 AdbWinApi.dll需重新安装
- IM的发送原图功能
- linux 安装sublime text2及配置c++11编译环境
- 在zsh中安装Python3
- [Oracle 11g r2(11.2.0.4.0)]RAC集群常用命令
- 微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转
- 判断字符串是否包含子串 python
- Java
- junit测试和main方法多线程中遇到的问题
- Solr之维护索引。
- Shell面试常问指令总结(1)
- 屏蔽浏览器界面Backspace按钮单击事件
- synchronized
- GlobalPlatform TEE Protection Profile (PP)Version 1.2.1 A.3 攻击路径举例(二)