微信公众号(五)——获取用户信息

PHP 微信开发(获取用户信息):

重点:scope参数:(授权方式)

snsapi_basic 静默登录,不需要用户授权,只能获取到openid;

snsapi_userinfo ,需要用户点击授权,能获取到openid和所有用户信息;

第一步:先获取用户的code值;
第二步:根据code值去获取access_token,每次请求的值都不一样,如果没有使用,每五分钟更新一次;
第三步:根据access_token获取用户信息;

 

  1. 配置:

微信公众号(五)——获取用户信息_第1张图片

微信公众号(五)——获取用户信息_第2张图片

  1. 获取code代码实现:
 $url_old= 'http://xxxx.cn/index.php/xxxx';//回调地址
 $url_new = urlencode($url_old);//回调地址转义
 $scope='snsapi_userinfo';//获取的方式;

$url='https://open.weixin.qq.com/connect/oauth2/authorize?'
appid='.$appid.'&redirect_uri='.$redirect_url.'&response_type=code&scope='.$scope.'&state=123#wechat_redirect';

   2.根据code获取access_token和openid然后根据access_token获取用户信息;

 /**
     * 用code换取userinfo(openid)
     * @return mixed
     */
    public function get_info(){
        $code=$_GET['code'];//获取code
        $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".APP_ID."&secret=".SECRET."&code=".$code."&grant_type=authorization_code";
        $info=$this->postcurl($url);//获取access_token
        $access_token = $info['access_token'];
        $url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token."&openid=OPENID&lang=zh_CN";
        $u_info=$this->postcurl($url);//获取userinfo
        return $u_info;
    }

 

你可能感兴趣的:(微信公众号,微信开发之公众号)