騰訊官方文檔稱,2021年12月27日之后【獲取用戶基本信息】接口不再輸出頭像、昵稱信息,原文如下 :
經測試發現確實如此,這突然變更規則無疑給很多開發者帶來煩惱,甚至有些系統直接崩潰,此次變更規則后:
1、通過后台接口無法再獲取用戶頭像、昵稱信息,涉及受影響的業務有:關注后后台獲取用戶信息、后台定時刷新用戶信息等業務場景
2、用戶主動打開網頁通過網頁授權后獲得access_token(user_info方式,非靜默授權),使用此access_token獲取用戶信息不受影響,可正常獲取用戶頭像昵稱信息
也就是說,此次改版后只能在前台網頁必須由用戶主動授權才能獲取頭像和昵稱,后台調用接口無法再獲取到頭像和昵稱了。即:微信接口調用憑據access_token有兩種,一種是用戶在微信網頁上點擊授權換取的access_token,另一種是后台通過appKey和appSecrect換取的access_token,以前兩種access_token都可以獲取到頭像和昵稱,而現在只有前者能獲取到(並且不能是靜默授權)。
兩種API如下:
【可獲取頭像、昵稱的API,使用用戶授權account_token】
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
【不可獲取頭像、昵稱的API,使用后台account_token】
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
改進方案:
方案1:對於靜默授權+后台接口方式的業務需要將程序改為前台授權方式,即:前台OAuth授權跳轉鏈接參數中的scope改為user_info(需用戶主動點擊同意),而不是snsapi_base(靜默授權)
方案2:對於關注后獲取用戶信息的業務,可以通過發送消息附帶鏈接,引導用戶點擊鏈接進去授權獲得用戶信息