新浪微博網(wǎng)頁(yè)授權(quán)auth2.0登錄---server端

最近在接入新浪的網(wǎng)頁(yè)授權(quán)登錄,把遇到的一些問(wèn)題總結(jié)出來(lái):(所有的坑基本都源于不仔細(xì),文檔沒(méi)看清等)

1、先申請(qǐng)應(yīng)用,得到AppKey和App Secret,應(yīng)用未審核通過(guò)前是可以用申請(qǐng)賬號(hào)測(cè)試的(QQ網(wǎng)頁(yè)登錄也是一樣的)

2、配置授權(quán)回調(diào)地址,未配置的話,調(diào)用的時(shí)候會(huì)報(bào)錯(cuò)

3、正式寫(xiě)后端代碼接入:

3.1、獲取code:調(diào)用https://api.weibo.com/oauth2/authorize?client_id=申請(qǐng)的appkey&response_type=code&redirect_uri=code的回調(diào)地址

3.2、獲取access_token:新浪回調(diào)我們上面填寫(xiě)的回掉地址,并攜帶code=xxxxx,我們拿到code,拼接獲取access_token的URL:https://api.weibo.com/oauth2/access_token?client_id=申請(qǐng)的AppKey&client_secret=申請(qǐng)的AppSecret&redirect_uri=回掉地址(同上)&code=6f1b3f09e51fd66be6e547e83443688d&grant_type=authorization_code,注意這里的調(diào)用方式是POST,body傳{},如果用GET請(qǐng)求會(huì)報(bào){"error":"HTTP?METHOD?is?not?suported?for?this?request!","error_code":10021,"request":"/oauth2/access_token"},這個(gè)接口會(huì)返回一個(gè)JSON對(duì)象:包含access_token、uid、remind_in、expires_in、isRealName 參數(shù)

3.3、獲取用戶信息:https://api.weibo.com/2/users/show.json?access_tkoen=xxx&uid=xxx,參數(shù)uid與screen_name二者必選其一,且只能選其一

得到的是JSON字符串,需要轉(zhuǎn)成JSON對(duì)象。這里我們就得到了用戶授權(quán)登錄后的信息了,這里得到的用戶province和city是數(shù)字,可以根據(jù)需要自己轉(zhuǎn)換成對(duì)應(yīng)的省市 省份城市編碼表,然后根據(jù)需求服務(wù)端對(duì)數(shù)據(jù)進(jìn)行緩存。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容