問題描述
前端在做微信網(wǎng)頁授權(quán)時救巷,調(diào)用我們已經(jīng)運(yùn)行很久的獲取微信用戶信息接口時,報微信錯誤碼 48001涤久。
解決辦法
https://open.weixin.qq.com/connect/oauth2/authorize?appid=&redirect_uri=&response_type=code&scope=snsapi_base&state=#wechat_redirect
將微信網(wǎng)頁授權(quán)地址中的 scope
參數(shù)設(shè)置為 snsapi_userinfo
洁墙。
問題原因
根據(jù)微信官方提供的《全局返回碼說明》辜昵,我們查到錯誤碼的解釋:
根據(jù)錯誤碼的提示剿配,我們排查了公眾號后臺的配置搅幅,發(fā)現(xiàn)我們的接口權(quán)限已經(jīng)授權(quán)。但是仍會報這個異常呼胚。而且茄唐,我們授權(quán)服務(wù)已經(jīng)上線很久,以前的網(wǎng)頁授權(quán)業(yè)務(wù)并沒有這個問題砸讳。通過與前端溝通琢融,核對了appid界牡、snsapi_base等信息簿寂。發(fā)現(xiàn)snsapi_base
與以往的參數(shù)不一致。
- scope=snsapi_base 時宿亡,只能用于獲取openid常遂,不能獲取用戶的基本信息
- scope=snsapi_userinfo時,可以獲取用戶信息挽荠、open_id克胳、union_id(需要綁定微信開放平臺)等。
將 scope
設(shè)置為 snsapi_base
圈匆,調(diào)用微信獲取用戶信息接口時漠另,由于未獲得用戶授權(quán)同意(snsapi_base為靜默授權(quán),不需要用戶同意)跃赚,因而調(diào)用接口失敗笆搓。
最后,要吐槽微信這個返回碼文檔纬傲。并沒有說清楚出現(xiàn)這個錯誤的真正原因满败。