上面內容可以抽到service中,User user =userService.saveWeChatUser(code);
回調函數會傳遞code和state信息。
通過/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code? 傳遞appid、secret、code獲取訪問憑證 access_token:返回結果包括下面幾個值
參數說明
access_token接口調用憑證
expires_inaccess_token接口調用憑證超時時間,單位(秒)
refresh_token用戶刷新access_token
openid授權用戶唯壹標識
scope用戶授權的作用域,使用逗號(,)分隔
獲取用戶信息,,通過調用/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID 傳遞access_token和openid。
返回結果:
參數說明
openid普通用戶的標識,對當前開發者帳號唯壹
nickname普通用戶昵稱
sex普通用戶性別,1為男性,2為女性
province普通用戶個人資料填寫的省份
city普通用戶個人資料填寫的城市
country國家,如中國為CN
headimgurl用戶頭像,最後壹個數值代表正方形頭像大小(有0、46、64、96、132數值可選,0代表640*640正方形頭像),用戶沒有頭像時該項為空
privilege用戶特權信息,json數組,如微信沃卡用戶為(chinaunicom)
unionid用戶統壹標識。針對壹個微信開放平臺帳號下的應用,同壹用戶的unionid是唯壹的。
程序中用戶名名亂碼問題
String nickname = new String(nickname.getBytes("ISO-8859-1"),"utf-8")