PHP微信授权登录信息

Posted 奔跑的葛根

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 (empty($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\';
//转成对象
$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)

PHP--------微商城实现微信授权登录

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

php 微信开发获取用户信息如何实现

h5页面获取微信授权登录

微信授权登录并获取用户信息接口开发