php版微信公众平台之微信网页登陆授权示例


Posted in PHP onSeptember 23, 2016

本文实例讲述了php版微信公众平台之微信网页登陆授权。分享给大家供大家参考,具体如下:

微信公众平台实现微信网页登陆授权开发其实是非常的简单了,因为官方的参考程序了,下面小编就看了一站长根据官方参考做的一个网页登陆授权例子,大家可看看.

文件1:index.php

//换成自己的接口信息
$appid = 'XXXXX';
header('location:https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri=127.0.0.1/oauth.php&response_type=code&scope=snsapi_userinfo&state=123&connect_redirect=1#wechat_redirect');

参数 是否必须 说明
appid 公众号的唯一标识
redirect_uri 授权后重定向的回调链接地址,请使用urlencode对链接进行处理
response_type 返回类型,请填写code
scope 应用授权作用域,snsapi_base(不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo(弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息)
state 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值
#wechat_redirect 无论直接打开还是做页面302重定向时候,必须带此参数

文件二:oauth.php,代码如下:

<?php
$code = $_GET['code'];
$state = $_GET['state'];
//换成自己的接口信息
$appid = 'XXXXX';
$appsecret = 'XXXXX';
if (emptyempty($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'; //开源软件:phpfensi.com
//转成对象
$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>';
?>

参数 描述
openid 用户的唯一标识
nickname 用户昵称
sex 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
province 用户个人资料填写的省份
city 普通用户个人资料填写的城市
country 国家,如中国为CN
headimgurl 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空.
privilege 用户特权信息,json数组,如微信沃卡用户为(chinaunicom)
unionid 只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。详见:获取用户个人信息(UnionID机制)

到此网页登陆授权开发功能就作完了,如果想要获取用户基本信息我们需要看另一个例子,在官方有说明大家可自行搜索哦.

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
用Socket发送电子邮件
Oct 09 PHP
用PHP生成html分页列表的代码
Mar 18 PHP
解析PHP正则提取或替换img标记属性
Jun 26 PHP
ThinkPHP的Widget扩展实例
Jun 19 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
Mar 02 PHP
php简单解析mysqli查询结果的方法(2种方法)
Jun 29 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 PHP
php微信开发之关键词回复功能
Jun 13 PHP
thinkPHP5.1框架中Request类四种调用方式示例
Aug 03 PHP
PHP单文件上传原理及上传函数的封装操作示例
Sep 02 PHP
PHP实现文件上传与下载
Aug 28 PHP
PHP+Mysql分布式事务与解决方案深入理解
Feb 27 PHP
中高级PHP程序员应该掌握哪些技术?
Sep 23 #PHP
php利用递归实现删除文件目录的方法
Sep 23 #PHP
php版微信公众平台开发之验证步骤实例详解
Sep 23 #PHP
php分页原理 分页代码 分页类制作教程
Sep 23 #PHP
php使用glob函数遍历文件和目录详解
Sep 23 #PHP
php版微信发红包接口用法示例
Sep 23 #PHP
基于thinkPHP实现的微信自定义分享功能示例
Sep 23 #PHP
You might like
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
2011/10/03 PHP
php中file_get_contents()函数用法实例
2019/02/21 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
jQuery中each()方法用法实例
2014/12/27 Javascript
写给小白的JavaScript引擎指南
2015/12/04 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
Jquery元素追加和删除的实现方法
2016/05/24 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
js表单登陆验证示例
2016/10/19 Javascript
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
jQuery选择器之表单元素选择器详解
2017/09/19 jQuery
vue Element-ui input 远程搜索与修改建议显示模版的示例代码
2017/10/19 Javascript
jquery select插件异步实时搜索实例代码
2017/10/20 jQuery
javascript异步编程的六种方式总结
2019/05/17 Javascript
js简单遍历获取对象中的属性值的方法示例
2019/06/19 Javascript
JS异步处理的进化史深入讲解
2019/08/25 Javascript
vue实现弹幕功能
2019/10/25 Javascript
vue基本使用--refs获取组件或元素的实例
2019/11/07 Javascript
原生JavaScript实现随机点名表
2021/01/14 Javascript
Caffe均值文件mean.binaryproto转mean.npy的方法
2018/07/09 Python
python远程邮件控制电脑升级版
2019/05/23 Python
用HTML5中的Canvas结合公式绘制粒子运动的教程
2015/05/08 HTML / CSS
Boden英国官网:英国知名原创时装品牌
2018/11/06 全球购物
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
保密普查工作实施方案
2014/02/25 职场文书
2014院党委领导班子及其成员群众路线对照检查材料思想汇报
2014/10/04 职场文书
2015新年寄语(一句话)
2014/12/08 职场文书
2014年应急工作总结
2014/12/11 职场文书
实习科室评语
2015/01/04 职场文书
学校推普周活动总结
2015/05/07 职场文书
烛光里的微笑观后感
2015/06/17 职场文书
行政处罚听证告知书
2015/07/01 职场文书
党员反四风学习心得体会
2016/01/22 职场文书
MySQL池化框架学习接池自定义
2022/07/23 MySQL