LaneWeChat

PHP微信开发框架,高效开发微信公众号应用。简洁而又轻量

GitHub下载 查看手册

网页授权获取用户基本信息

Visits: 19336 Date: 2014-08-20 17:30:06 Power By 李轩Lane

    

1、类简介:在网页中获取来访用户的数据。


        2、使用命名空间:use LaneWeChat\Core\WeChatOAuth;


        3、参数  $openId = '用户和微信公众号的唯一ID';           在变量$require['openid']中

                $mediaId = "通过上传多媒体文件,得到的id。";

                $groupId = '分组ID';                         在添加新分组、获取分组列表的时候可以得到


        4、获取CODE。

            参数:$scope:snsapi_base不弹出授权页面,只能获得OpenId;snsapi_userinfo弹出授权页面,可以获得所有信息

            参数:$redirect_uri:将会跳转到redirect_uri/?code=CODE&state=STATE 通过GET方式获取code和state。获取CODE时,发送请求和参数给微信服务器,微信服务器会处理后将跳转到本参数指定的URL页面

            WeChatOAuth::getCode($redirect_uri, $state=1, $scope='snsapi_base');


        5、通过code换取网页授权access_token(access_token网页版)。首先请注意,这里通过code换取的网页授权access_token,与基础支持中的access_token不同。公众号可通过下述接口来获取网页授权access_token。如果网页授权的作用域为snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了openid,snsapi_base式的网页授权流程即到此为止。

            参数:$code getCode()获取的code参数。$code = $_GET['code'];

            WeChatOAuth::getAccessTokenAndOpenId($code);


        6、刷新access_token(如果需要)

            由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新,refresh_token拥有较长的有效期(7天、30天、60天、90天),当refresh_token失效的后,需要用户重新授权。

            WeChatOAuth::refreshToken($refreshToken);

                $refreshToken:通过本类的第二个方法getAccessTokenAndOpenId可以获得一个数组,数组中有一个字段是refresh_token,就是这里的参数


        7、拉取用户信息(需scope为 snsapi_userinfo)

            如果网页授权作用域为snsapi_userinfo,则此时开发者可以通过access_token和openid拉取用户信息了。

            WeChatOAuth::getUserInfo($accessToken, $openId, $lang='zh_CN');

                $accessToken:网页授权接口调用凭证。通过本类的第二个方法getAccessTokenAndOpenId可以获得一个数组,数组中有一个字段是access_token,就是这里的参数。注意:此access_token与基础支持的access_token不同。

                $openId:用户的唯一标识

                $lang:返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语


        8、检验授权凭证(access_token)是否有效

            WeChatOAuth::checkAccessToken($accessToken, $openId){

                $accessToken:网页授权接口调用凭证。通过本类的第二个方法getAccessTokenAndOpenId可以获得一个数组,数组中有一个字段是access_token,就是这里的参数。注意:此access_token与基础支持的access_token不同。


Reply: 乔 On 2016-03-29 19:25:23

朋友,你这页的代码有问题啊WeChatOAuth::getCode方法下面第一个if完全就是坑。。。好好的斜线你删了干嘛?

回复

Add Comment
©2014~time() lanewechat.lanecn.com , All rights reserved. Power By LaneWeChat 微信PHP开发框架.  京ICP备14005030号-1