1. 云栖社区>
  2. PHP教程>
  3. 正文

微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转

作者:用户 来源:互联网 时间:2017-11-30 20:37:17

开发网页授权菜单openid点击定义获取获得公众

微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转 - 摘要: 本文讲的是微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转, 之前做了个自定义菜单的click事件,但是订阅号升级为服务号,相应的有了网页的基础授权(需要认证的服务号) 其中使用到了自定义菜单接口:http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64

之前做了个自定义菜单的click事件,但是订阅号升级为服务号,相应的有了网页的基础授权(需要认证的服务号)

其中使用到了自定义菜单接口:http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html

网页授权获取用户基本信息接口:http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html

微信公众号<a href=开发--获取网页授权并自定义菜单点击获得openid跳转-">微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转-微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转-微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转-

一、在接口处获取网页授权,并填写你的域名或ip(域名不需要协议 http://www.baidu.com而是www.baidu.com)

微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转-

二、在自定义菜单出的url写入“第一步:用户同意授权,获取code”的url,并将redirect_uri写成你的VIEW时间点击后需要跳转的路径,如下:

微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转-

{
    "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


微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转-

通过code获取openid的参数如上,即在入口文件中为:

微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转-

[php] view plain copy
  1. /** 
  2. * @desc 向微信接口发送请求 
  3. **/  
  4. function getJson($url){  
  5.     $ch = curl_init();  
  6.     curl_setopt($ch, CURLOPT_URL, $url);  
  7.     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);   
  8.     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);   
  9.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
  10.     $output = curl_exec($ch);  
  11.     curl_close($ch);  
  12.     return json_decode($output, true);  
  13. }  

-------------------------------------------------------------------------------------我是分割线-------------------------------------------------------------------------------------------------

但是有些时候需要页面重定向出下面的效果:

微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转-

这时候就需要页面重定向:

①判断是否有$_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跳转-

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索开发 , 网页 , 授权 , 菜单 , openid , 点击 , 定义 , 获取 , 获得 公众 ,以便于您获取更多的相关知识。