收藏
回答

点击获取用户信息登录,提示无权限,是设置上修改还是代码里需要修改?

AppID
wxf956511dc02e8e4b

<a href="https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf956511dc02e8e4b&redirect_uri=http://www.hykqg.cn/wxindex.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect">登录</a></td>

这是我的请求代码,提示 “Scope 参数错误或没有 Scope 权限

$code = isset($_GET['code']) ? $_GET['code'] : '';

if (empty($code)) {

    die('缺少code参数');

}

// 初始化cURL

$curl = curl_init();

// 构造获取access_token的URL

$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={$appid}&secret={$appsecret}&code={$code}&grant_type=authorization_code";


// 设置cURL选项

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);


// 执行cURL请求并获取结果

$result = curl_exec($curl);


// 检查是否有错误发生

if (curl_errno($curl)) {

    die('请求access_token失败: ' . curl_error($curl));

}


// 关闭cURL会话

curl_close($curl);


// 将结果解码为数组

$json = json_decode($result, true);


if (isset($json['errcode'])) {

    die('获取access_token失败: ' . $json['errmsg']);

}


$access_token = $json['access_token'];

$openid = $json['openid'];


// 初始化另一个cURL会话用于获取用户信息

$curll = curl_init();


// 构造获取用户信息的URL

$getUserUrl = "https://api.weixin.qq.com/sns/userinfo?access_token={$access_token}&openid={$openid}&lang=zh_CN";


// 设置cURL选项

curl_setopt($curll, CURLOPT_URL, $getUserUrl);

curl_setopt($curll, CURLOPT_RETURNTRANSFER, 1);


// 执行cURL请求并获取结果

$result = curl_exec($curll);


// 检查是否有错误发生

if (curl_errno($curll)) {

    die('请求用户信息失败: ' . curl_error($curll));

}


// 关闭cURL会话

curl_close($curll);


// 将结果解码为数组

$json = json_decode($result, true);


if (isset($json['errcode'])) {

    die('获取用户信息失败: ' . $json['errmsg']);

}


$nickname = $json['nickname'];

$avatar = $json['headimgurl'];


// 打印用户信息

print_r($json);

?>

这是我接收页面写的代码 ,应该不是接收代码的问题吧

回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容
问题标签