H5无限回调对接文档
接口地址: http://1-api.cn/wx-callback.html
返回格式: get
请求方式: http get
请求示例: http://1-api.cn/wx-callback.html?redirect_uri=http://1-api.cn/open&state=123
请求参数说明:
参数名称 | 必填 | 类型 | 说明 |
---|---|---|---|
redirect_uri | 是 | string | 回调链接,接口code和state参数! |
state | 否 | string | 自定义参数! |
返回参数说明:
参数名称 | 类型 | 说明 |
---|---|---|
code | string | 返回code |
state | string | 返回自定义参数! |
响应文本:
$appid='appid';
$appsecret='appsecret';
$code = $_GET['code'];
if ($code) {
//初始化
$ch = curl_init();
//设置选项,包括URL
curl_setopt($ch, CURLOPT_URL, "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$appsecret&code=$code&grant_type=authorization_code");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//执行并获取HTML文档内容
$output = curl_exec($ch);
//释放curl句柄
curl_close($ch);
}
$oauth = json_decode($output,true);
if(empty($oauth["access_token"])){
die('无法获取access_token,可能需要过白ip');
}
$access_token = $oauth["access_token"];
$openid = $oauth['openid'];
//第二步:根据全局access_token和openid查询用户信息
$get_user_info_url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token."&openid=".$openid."&lang=zh_CN";
$userinfo = $this->http_curl($get_user_info_url);
//如果获取到了用户信息
if($userinfo){
echo $userinfo['openid'];//用户openid
echo $userinfo['nickname'];//用户昵称
echo $userinfo['headimgurl'];//用户头像
}else{
die('没有获取到用户信息');
}
function http_curl($url){
//用curl传参
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
//关闭ssl验证
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch,CURLOPT_HEADER, 0);
$output = curl_exec($ch);
curl_close($ch);
return json_decode($output, true);
}
状态码参考:
状态码 | 说明 | |
---|---|---|
204401 | 账户登录状态异常! |
用户等级 | 千次价格 | 单次价格 |
---|---|---|
普通用户 | ¥2.00 | ¥0.00200 |
高级会员 | ¥1.20 | ¥0.00120 |
中级会员 | ¥1.60 | ¥0.00160 |
初级会员 | ¥1.90 | ¥0.00190 |