关于微信网页授权获取用户基本信息480001:api功能未授权问题,我的公众账号已经认证过了。

lockllb
  • 71

遇到问题描述:
同样的网页授权获取用户基本信息代码,有些手机获取得了用户信息,有些手机获取不到,显示48001错误;
大家遇到过这样的问题吗?怎么解决的?

我活的用户的基本信息的代码如下:
/*
* 获得网页授权oauth2.0 返回当前用户的openid相关信息
*/
public function getOauth_userinfo($redirect_uri)
{
$curl = new \Curl();
$url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" . C('APPID') . "&redirect_uri=" . $redirect_uri . "&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
$userinfo = I("get.");
if (!$userinfo['code']) {
Header("Location: $url");
exit;
} else {
//使用CODE进行交换ACCESS_TOKEN
$getAccessTokenUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" . C('APPID') . "&secret=" . C('APPSECRET') . "&code=" . $userinfo['code'] . "&grant_type=authorization_code";
$myres = $curl->get($getAccessTokenUrl);
$myres = json_decode($myres);
//刷新access_token
$refresh_token_url = "https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=" . C('APPID') . "&grant_type=refresh_token&refresh_token=" . $myres->refresh_token;
$refresh_token_res = $curl->get($refresh_token_url);
$refresh_token_res=json_decode($refresh_token_res);
//请求用户基本信息
$getUserInfoUrl = "https://api.weixin.qq.com/sns/userinfo?access_token=" . $refresh_token_res->access_token . "&openid=" . $refresh_token_res->openid . "&lang=zh_CN";
$userinfores = $curl->get($getUserInfoUrl);
$userinfo = json_decode($userinfores);
return $userinfo;
}
}

回复
阅读 51.9k
12 个回答

请注意读文档,scope=snsapi_base时是静默的,不弹出授权界面,只能获取用户openid,此时api未获得用户授权,所以你要拉取用户信息,就会弹出480001.如果要拉取用户信息请用snsapi_userinfo,当用户进入页面会弹出授权确认界面。

我把获取code那一步的snsapi_base换成snsapi_userinfo,问题就解决了,随后也是按原来的步骤获取openid和accesstoken,再拿获取的这两个值获取用户信息,之前出现的有些微信能获取有些却获取不了的问题就解决了。

请问你解决了这个问题吗

这个有问题吧

scope=snsapi_base

你想获取到用户信息 你不用snsapi_userinfo?

Bite丶Lips
  • 1
新手上路,请多包涵

请问你找到答案了吗??
我这儿也是这样 确定认证成功并且在微信公众号后台给账号添加了api权限。
使用手动授权snsapi_userinfo的时候能获取到信息,使用静默授权snsapi_base的时候就会出现48001错误。
如果你已经有答案希望能指导一下,谢谢。

licc
  • 2
新手上路,请多包涵

请问该问题是否已经解决了呢?遇到同样的问题,部分手机微信能够成功拉取用户信息,部分微信不能成功拉取,提示48001.求告知解决方法

原味丶苦茶
  • 3
新手上路,请多包涵

请问您解决了吗,我也遇到了这样的问题

亲爱的巴依老爷
  • 3
新手上路,请多包涵

解决了吗?我也遇到这样的问题。确定是已经认证的服务号,并且在开发网页配置项里面填写了回掉域名。

你好 你解决了吗

注意,网页授权获取用户信息有两个前提
1. 你的账号是服务号
2. 你已经在微信公众号后台给账号添加了授权获取用户信息的权限

私以为,你是第二点没做

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏