这篇文章主要介绍了php版微信公众平台之微信网页登陆授权的方法,结合实例形式分析了微信网页登陆授权的接口调用及参数含义,需要的朋友可以参考下

本文实例讲述了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是返回类型,请填写codescope是应用授权作用域,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国家,如中国为CNheadimgurl用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空.privilege用户特权信息,json数组,如微信沃卡用户为(chinaunicom)unionid只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。详见:获取用户个人信息(UnionID机制)

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

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP微信开发汇总》、《PHP编码与转码操作汇总》、《PHP网络编程总结》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作汇总》

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

最新资讯
兰亭集势CEO齐志平辞职 新收购的Ezbuy CEO继任

兰亭集势CEO齐志平辞

兰亭集势(纽交所:LITB)今日宣布,公司CEO齐志平已辞职,该
直击|周鸿祎谈5G网络:通信安全和管道智能化尤为重要

直击|周鸿祎谈5G网络:

360董事长兼CEO周鸿祎在首届智能网络产业论坛上指出,5G
完美世界鲁晓寅:勿把同行当对手 对手是其他娱乐业

完美世界鲁晓寅:勿把同

完美世界游戏COO鲁晓寅在2018全球数娱未来高峰论坛上
黑莓宣布以14亿美元收购美国AI网络安全公司Cylance

黑莓宣布以14亿美元收

黑莓公司今日宣布,将以14亿美元的现金收购美国人工智能
直击|为无人驾驶准备?高德地图实现路口车道级导航

直击|为无人驾驶准备?

高德地图近日宣布在业内首次推出“多方向实时路况”,它
多家投行下调Nvidia目标股价 第三季度业绩低迷

多家投行下调Nvidia目

由于Nvidia(英伟达)2019财年第三季度业绩和第四季度业
最新文章
php实现微信企业付款到个人零钱功能

php实现微信企业付款

这篇文章主要为大家详细介绍了php实现微信企业付款到
PHP实现微信对账单处理

PHP实现微信对账单处

这篇文章主要为大家详细介绍了PHP实现微信对账单处理,
php提取微信账单的有效信息

php提取微信账单的有

这篇文章主要为大家详细介绍了php提取微信账单的有效
php-fpm.conf配置文件中文说明详解及重要参数说明

php-fpm.conf配置文件

本文主要介绍了php-fpm.conf配置文件的中文说明详解以
PHP实现微信退款功能

PHP实现微信退款功能

这篇文章主要为大家详细介绍了PHP实现微信退款功能,具
PHP实现微信申请退款功能

PHP实现微信申请退款

这篇文章主要为大家详细介绍了PHP实现微信申请退款功