你们都知道经过网页调用微信官方提供的API获取微信用户基本信息有两种方式:php
/* * 获取网页静默受权url */ public function snsapiBaseUrl($url) { $redirect_uri = urlencode($url); $auth_url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" . $this->appId . "&redirect_uri=" . $redirect_uri . "&response_type=code&scope=snsapi_base&state=base#wechat_redirect"; return $auth_url; } /* * 获取用户信息的网页受权url */ public function snsapiUserinfoUrl($url) { $redirect_uri = urlencode($url); $auth_url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" . $this->appId . "&redirect_uri=" . $redirect_uri . "&response_type=code&scope=snsapi_userinfo&state=userinfo#wechat_redirect"; return $auth_url; }
而后,若是想经过静默受权方式获取用户信息,必须第一次调用snsapi_userinfo方式,经用户受权以后,之后再经过snsapi_base获取用户信息以后,就不须要用户受权了,不然则会报48001错误,错误信息为:api
错误码说明文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433747234微信
微信全局返回码说明app
Array
(
[errcode] => 48001
[errmsg] => api unauthorized, hints: [ req_id: hJhbDpLoRa-1pKena ]
)this
技术文档说明为: api 功能未受权 实际上后台已经取得了相关权限url
然而官方文档并无对此进行说明,开发者在开发时需注意spa
获取的正确的数据为:code