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微信授权登录信息的主要内容,如果未能解决你的问题,请参考以下文章