最近在接入QQ網(wǎng)頁(yè)授權(quán)登錄,把遇到的一些問(wèn)題總結(jié)出來(lái)(所有的坑基本都源于不仔細(xì),文檔沒(méi)看清等)
騰訊開(kāi)放平臺(tái)和QQ互聯(lián)2套文檔怕敬,但是網(wǎng)頁(yè)授權(quán)登錄只需要QQ互聯(lián)的AppKey和AppSecret,QQ 的文檔基本都比較老睁蕾,基本處于無(wú)人維護(hù)狀態(tài)
1、使用PC地址調(diào)試族阅,因?yàn)閃AP網(wǎng)站地址不可用
2篓跛、應(yīng)用未審核通過(guò)前使用申請(qǐng)AppKey的QQ號(hào)進(jìn)行調(diào)試
3、代碼接入:官方文檔地址
3.1坦刀、獲取code:https://api.weibo.com/oauth2/authorize?client_id=${appId}&response_type=code&redirect_uri=${redirect_uri}愧沟,redirect_uri需要URLEncode
3.2蔬咬、獲取access_token:上一步點(diǎn)擊登錄之后會(huì)回調(diào)一個(gè)code,然后拼接URL:https://graph.qq.com/oauth2.0/token?client_id=${appId}&client_secret=${appsecret}&redirect_uri=${redirect_uri}&code=${code}&grant_type=authorization_code沐寺,這里得到的數(shù)據(jù)是querystring格式的字符串林艘,類(lèi)似access_token=FE04************************CCE2&expires_in=7776000&refresh_token=88E4************************BE14
3.3、獲取openid:用上一步得到的accesstoken去獲取openid:https://graph.qq.com/oauth2.0/me?access_token=${access_token}混坞,這里得到的是callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} )
3.4狐援、獲取userInfo:用上2步得到的accesstoken和openid和申請(qǐng)的APPID去獲取:https://graph.qq.com/user/get_user_info?access_token=${access_token}&openid=${openid}&oauth_consumer_key=${appId}究孕,這里得到的數(shù)據(jù)是JSONstring