新浪微博開放平台提供了豐富的API接口,利用這些接口,開發者能夠開發出獨具特色的微博應用。但是,大部分接口都需要用戶授權給應用,應用利用授權得到的Access Token來調用相應的接口來獲取內容。
新浪微博的授權機制目前主要有3種應用場景:
- Web應用
- 移動應用
- 站內應用
本文主要介紹Web應用如何授權、獲取Access Token。
步驟一:添加網站
進入新浪微博開放平台,進入“管理中心“,點擊”創建應用”,選擇“網頁應用”,填寫相應的信息后提交。
步驟二:Oauth2.0授權設置
應用創建完后可以在“管理中心”-“我的應用”中查看信息,在“應用信息”--“高級信息”中可以設置網站的授權回調頁和取消授權回調頁。
授權回調頁非常重要,一定要填寫正確,當用戶授權成功后會回調到此頁面,傳回一個“code”參數,開發者可以用code換取Access Token值。
步驟三:引導用戶授權
引導需要授權的用戶到如下頁面:
https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI
YOUR_CLIENT_ID:即應用的AppKey,可以在應用基本信息里查看到。
YOUR_REGISTERED_REDIRECT_URI:即之前填寫的授權回調頁,注意一定要完全相同。
如果用戶授權成功后,會跳轉到回調頁,開發者此時需要得到url參數中的code值,注意code只能使用一次。
步驟四:換取Access Token
開發者可以訪問如下頁面得到Access Token:
https://api.weibo.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE
這些參數就不一一介紹了。
如果都沒有問題,就可以得到Access Token了,返回示例:
{
"access_token": "ACCESS_TOKEN",
"expires_in": 1234,
"remind_in":"798114",
"uid":"12341234"
}
步驟五:調用API
獲取到Access Token后,開發者可以保存它的值,調用API的時候直接用就可以了。Access Token有一定的有效期,過期后需要重新授權。