接口地址: 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